您可以使用 iText 对象从头开始创建PDF文档,例如 Paragraph(Java/.NET)、Table(Java/.NET)、Cell(Java/.NET)、List(Java/.NET)等,这种方法的优点是,一切都是可编程的,因此可以按照您想要的方式进行配置。缺点是您需要对所有内容进行编程;即使是很小的更改,例如将一种颜色更改为另一种颜色,也需要开发人员更改应用程序的Java代码,重新编译代码等。
您可以填写预先存在的表格。一方面,有 AcroForm 技术,它快速简单,但不是动态的(所有领域都有固定的位置)。另一方面,您有XML表单体系结构(XFA),它是动态的,填写表单很容易,但表单创建很复杂,自PDF 2.0 以来,XFA就被弃用了。
您可以使用 pdfHTML 将 HTML 和 CSS 转换为 PDF。这很容易,因为每个人都知道一些HTML,每个人都知道一些 CSS。为什么要在另一个(专有的?)中创建模板总体安排?只需在HTML中创建内容,然后使用CSS定义样式,使用 pdfHTML 将该内容转换为PDF。
本教程讨论了第三种方法,当您必须创建某种类型的文档(例如目录、发票等)时,这种方法非常理想。
用例描述
假设您是为不同客户创建发票的服务提供商。无论客户如何,所有这些发票都具有相似的结构,但每个客户都希望您使用不同的字体、不同的颜色和不同的布局。如果使用第一种方法,那么每次新客户注册时都必须编写Java代码。如果使用第二种方法,您会发现很快就会发现 PDF中现有表单技术的局限性。如果您使用pdfHTML,您可以构建一个只需要最少编程的系统,并且不需要花太多精力就可以注册一个新客户。
当新客户注册时,您需要:
-
为