在Java中使用iText和Apache Velocity模板文件(.vm)生成PDF的一般工作流程是什么?使用iText和apache velocity模板生成PDF文件(.vm)
我想知道像步骤:解析模板文件,把Java对象的背景和步骤进行生成PDF等
我知道这是一个非常基本的问题。但是,我甚至无法在网络上找到这种类型的单个示例。我发现XDocReport,但我很想知道其他的选择。
请帮助我一些示例项目链接或至少步骤开始。
在Java中使用iText和Apache Velocity模板文件(.vm)生成PDF的一般工作流程是什么?使用iText和apache velocity模板生成PDF文件(.vm)
我想知道像步骤:解析模板文件,把Java对象的背景和步骤进行生成PDF等
我知道这是一个非常基本的问题。但是,我甚至无法在网络上找到这种类型的单个示例。我发现XDocReport,但我很想知道其他的选择。
请帮助我一些示例项目链接或至少步骤开始。
利用iText和Java的Apache的Velocity模板文件(.vm)生成PDF直接是不可能的,因为:
换句话说,Velocity不能生成PDF。
XDocReport能够通过合并包含一些Velocity/Freemarker语法的docx/odt模板和Java上下文来生成docx/odt报告。生成的docx/odt报告可以将其转换为pdf/xhtml。
它的工作原理是docx/odt是一个包含多个xml条目的zip文件。如果你解压缩docx,你会看到word/document.xml。在此条目中,您将看到您使用MS Word键入的内容。 word/document.xml是纯文本,所以在这种情况下可以使用Velocity。
这里XDocReport处理,以生成从使用速度的DOCX模板PDF:
在这一步我们有一个生成的docx(报告)。
为了将其转换为另一种格式,XDocReport提供了基于Apache POI和iText的docx-to-pdf转换器。这里的XDocReport过程到DOCX转换为PDF:
请注意,XDocReport是模块化的,您也可以使用其他转换器。
是的,你可以。这一切都取决于你想要PDF的复杂程度。
下面是基本功能
com.itextpdf.text.html.simpleparser.HTMLWorker
(不建议使用)将该HTML文件解析/转换为PDF。com.itextpdf.text.pdf.PdfCopy.PageStamp
将内容(边框,图章,注释,注释等)添加到现有的PDF中。还有com.itextpdf.tool.xml.XMLWorker
更高级的HTML转换(将样式表等)
起初,我们用的freemarker模板来生成一个HTML文件,然后通过IItextRender。最后呈现HTML PDF文件,我们可以在浏览器中查看pdf文件,这里有一个非常有用的JavaScript工具,称为pdfjs。也许你可以尝试一下。
你对XDocReport的限制是什么? – Angelo
是否可以在xdcoreport中设置pdf文件的编辑密码?我指的是iText中的PDFWriter.setEncryption方法。 – TechnoCrat
嗨@Angelo,在这里添加问题:http://stackoverflow.com/questions/21871887/set-encryption-password-for-pdf-in-xdocreport。请看一下。 – TechnoCrat