java Springboot表单转换HTML>PDF
在java项目中,如何在提交时将HTML表单转换为PDF,然后附加到电子邮件中
Springboot&;Thymeleaf是正在使用的框架。表单如下所示:
http://jsfiddle.net/x1hphsvb/5563/
到目前为止:
@org.springframework.stereotype.Controller
@EnableAutoConfiguration
public class Controller {
@RequestMapping("/")
String home() {
return "static/index.html";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Controller.class, args);
}
}
我研究了这个tutorial并寻找了一种使用PDF Box的方法,但没有成功
我应该把后端的数据插入HTML模板,还是将数据插入PDF模板
PDF表单还应该具有类似于HTML的可折叠性
# 1 楼答案
关于HTML到PDF的转换
您提到的示例中有我的名字(对以
com.lowagie
开头的包名的引用),这意味着它是关于iText的,而不是关于pdfBox的。PdfBox不会将HTML转换为PDF,所以这不是一个选项带有我名字的iText版本早于iText 5,不应再用于商业环境。见Can iText 2.1.7 / iTextSharp 4.1.6 or earlier be used commercially?
你也可以使用标签飞碟。飞碟是一个第三方工具,用于将HTML转换为PDF,它是在如此古老的iText版本之上构建的
小贴士:
关于PDF格式
你写道:“PDF表单也应该具有类似于HTML的可折叠性。”
请查看ISO32000-2(PDF 2.0标准),你会发现PDF表单不能像HTML表单那样折叠。您可能见过具有类似功能的PDF文档,但这些表单不是ISO 32000-2文档;它们是XFA表单。XFA代表XML表单体系结构,该技术已被弃用。除了Adobe Reader之外,你几乎找不到任何其他支持这种表单的浏览器
在数据输入方面,PDF输了,HTML5赢了。如果您已经阅读了问题How to create template and generate pdf using template and database data iText C#的答案,您已经注意到DITO产品选择创建用于数据输入的HTML5模板和用于数据表示的PDF模板