java 导出pdf wkhtmltopdf 载入PDF时发生错误 stream must have data
原理是把需要填充打印的内容填充到freemarker模板文件ftl,然后生成html文件,然后java调用cmd命令行 把html生成pdf。总结起来就是一次填充两次写文件流一次读文件。 首先是要安装插件: https://wkhtmltopdf.org/downloads.html // 创建配置 Configuration cfg = new Configuration(new Version(2, 3, 0)); Process p = null; try { // 指定模板存放的路径 cfg.setDirectoryForTemplateLoading(new File(basePath + "/pdf/ftl")); cfg.setDefaultEncoding("UTF-8"); // 从上面指定的模板目录中加载对应的模板文件 Template temp = cfg.getTemplate(templateftl); // 将生成的内容写入contractTemplate .html中 String file1 = basePath + "/pdf/html/experReportView.html"; File file = new File(file1); if (!file.exists()) file.createNewFile(); Writer out =