Tec*_*rat 3 java pdf velocity itext xdocreport
在Java中使用iText和Apache Velocity模板文件(.vm)生成PDF的一般工作流程是什么?
我有兴趣知道以下步骤:解析模板文件,将Java对象置于上下文中以及执行生成pdf等的步骤.
我知道这是一个非常基本的问题.但我无法在网上找到这种类型的单一例子.我找到了XDocReport,但我也有兴趣了解其他替代方案.
请帮我一些示例项目链接或至少开始的步骤.
小智 5
是的你可以.这一切都取决于您希望PDF的复杂程度.
以下是基本功能的步骤
com.itextpdf.text.html.simpleparser.HTMLWorker
(不建议使用)将该HTML文件解析/转换为PDF.com.itextpdf.text.pdf.PdfCopy.PageStamp
向现有PDF添加内容(边框,图章,注释,注释等).还有com.itextpdf.tool.xml.XMLWorker
更高级的HTML转换(添加样式表等)
在 Java 中直接使用 iText 和 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。
这里是使用 Velocity 从 docx 模板生成 pdf 的 XDocReport 过程:
在此步骤中,我们生成了一个 docx(报告)。
为了将其转换为其他格式,XDocReport 提供了一个基于 Apache POI 和 iText 的 docx-to-pdf 转换器。这里是 XDocReport 将 docx 转换为 pdf 的过程:
请注意,XDocReport 是模块化的,您也可以使用其他转换器。
归档时间: |
|
查看次数: |
15836 次 |
最近记录: |