如果应用程序需要动态生成 PDF 文档,则需要 iText 库。开放源码的 iText 库使 PDF 文档的创建能够在瞬间完成。本文介绍了 iText 并提供了使用它从 Java ? 技术应用程序生成 PDF 文档的由浅入深的指南。我们创建了一个示例应用程序以更好地理解 iText。
很多应用程序要求动态生成 PDF 文档。这类应用程序包括银行生成用于电子邮件投递的客户报表,到读者购买特定图书章节并以 PDF 格式接收这些文档。例子罗列下去是很多的。在本文中,将使用 iText Java 库生成 PDF 文档,并引导您完成一个示例应用程序,以使您能够更好地理解和使用 iText。
熟悉 iText
iText 是 Lowagie.com 站点(请参阅 参考资料)免费提供的 Java 库。iText 库的功能很强大,支持 HTML、RTF 和 XML 文档的生成,此外还能够生成 PDF 文档。可以从多种字体中选择文档中所使用的字体。同时,iText 的结构允许使用相同的代码生成以上任意类型的文档。
iText 库中的类用于以各种字体来生成 PDF 文本、在 PDF 文档中生成表格、为页添加水印等。iText 还提供许多功能。在一篇文章中不可能一一演示。本文中将介绍生成 PDF 文档的基本需求。
我们将使用 Eclipse 来进行示例应用程序开发。作为一个开放源码的 IDE,可以免费获得 Eclipse,而且其功能非常强大。现在就可以下载 Eclipse。
iText API:近距离观察
com.lowagie.text.Document 是生成 PDF 的主要的类。它是需要使用的第一个类。一旦开始创建文档,将需要一个写入器向文档中写入内容。 com.lowagie.text.pdf.PdfWriter 就是一个 PDF 写入器。下面列出了通常需要使用的类:
com.lowagie.text.Paragraph —— 这个类表示一个缩进的段落。
com.lowagie.text.Chapter —— 这个类表示 PDF 文档中的章节。使用 Paragraph 作为题目并使用 int 作为章节号码来创建它。
com.lowagie.text.Font —— 这个类包含了全部的字体规范,例如字体、大小、样式和颜色。各种字体都在这个类中声明为静态常数。
com.lowagie.text.List —— 这个类表示一个列表,按顺序包含许多 ListItems。
com.lowagie.text.Table —— 这个类表示包含单元格的表,单元格有序地排列在矩阵中。
下载 iText 并在 Eclipse 中进行配置
作为一个纯粹的 Java 库,iText 是以 JAR 文件的形式出现的(请参阅 参考资料)。一旦下载了这个库(在路径 C:\temp 下),执行下列步骤将会在 Eclipse 环境中配置 iText 库:
在 Eclipse 中创建一个新的 Java 项目,将其命名为 iText。
在 Package Explorer 视图中右击 iText 项目,然后选择 Properties。
单击 Java Build Path。在 Libraries 选项卡中,单击 Add External JARs。
浏览到 C:\temp 目录,选择该目录下的 itext-1.3.jar。
单击 OK。
现在已经配置好 iText,Eclipse 已经准备好创建 Java 应用程序以生成动态 PDF 文档。
分享到:
相关推荐
6. **生成PDF**:使用`renderer.createPDF(outputStream)`方法将PDF写入OutputStream,或者使用`renderer.writeToFile(outputPath)`方法写入文件。 7. **关闭资源**:完成后记得关闭OutputStream或释放其他资源。 ...
对于开发Java应用在z/OS上创建PDF文件或发送邮件,存在许多现成的Java类库可以利用,例如iText用于PDF生成,JavaMail用于邮件处理。 在z/OS上开发Java应用不仅需要熟悉Java语言和开发环境,还需要对z/OS系统的运行...
除了直接生成流,Barcode4J还提供了与Apache FOP(一个用于生成PDF、SVG和其他格式的XSL-FO处理器)集成的能力,这样你就可以在生成的文档中直接嵌入条形码。 在实际应用中, Barcode4J与其他Java库结合,例如与...
首先,文件标题《1z0-808.236q.pdf (java 8 silver 题库)》指的是Oracle认证考试1Z0-808 Java SE 8 Programmer I的题库文件,它包含了236个问题及其答案。这个考试是针对Java SE 8版本的初级程序员,用以验证考生...
5. **语法插件(Grammar Plugins)**:Antlr 4 提供了生成 Java 代码的插件,这个插件会根据语法文件自动生成解析器和词法分析器的 Java 类。开发者可以利用这些类解析输入的文本并进行后续处理。 6. **错误处理**...
在Java编程语言中,处理图像和PDF文件通常涉及到使用第三方库。这个工具可能依赖于如Apache PDFBox、iText或ImageMagick等库来实现转换功能。Apache PDFBox是一个开源的Java库,它提供了创建、修改和显示PDF文档的...
编译命令为 `javac Zbb.java`,生成 `.class` 文件。运行命令为 `java Zbb`。 数据类型 Java 中有两种基本数据类型:基本数据类型(primitive types)和引用数据类型(reference types)。 基本数据类型 基本...
对于PDF文件的处理,Java PDFBox提供了强大的工具。理解并熟练运用这些API,可以帮助你高效地完成文件的压缩和解压缩任务。在实际开发中,根据具体需求,可能还需要结合其他库或技术,如Apache Commons Compress,以...
【标题】"Java开发常用的在线工具编程开发技术共11页.pdf.z" 涉及的是Java开发者在日常工作中经常使用的在线工具和技术。这个压缩文件很可能是某个教程或指南的电子版,它涵盖了11个页面的内容,专门讨论Java编程和...
在这个“java-poi教你如何生成office文档.7z”压缩包中,很可能包含了一系列的教程和示例代码,帮助开发者掌握如何使用Java POI库生成Office文档。 1. **Java POI基本概念** - **HSSF (Horrible Spreadsheet ...
4. **布局和创建PDF**:调用`renderer.layout()`进行页面布局,然后调用`renderer.createPDF(os)`将结果写入到输出流`os`,最终生成PDF文件。 5. **关闭输出流**:在完成PDF生成后,记得关闭`OutputStream`以释放...
【标题】"doxygen生成样例.7z"是一个压缩包文件,其中包含了使用doxygen工具生成的示例文档。这个文件旨在展示如何利用doxygen为C语言代码自动生成高质量的文档,包括HTML、RTF(Rich Text Format)和LaTeX格式。...
这个压缩包文件"aspose-slides-19.3.java版本.7z"包含了Aspose.Slides的19.3版本,它是一个用于创建、操作和转换PPTX文件的软件开发工具包(SDK)。这个SDK允许开发者在Java应用程序中执行各种复杂的操作,如创建新...
Java_lib.7z 是一个包含了一系列Java开发中常用的库文件的压缩包,主要针对J2EE平台和SSHE(Spring、Struts、Hibernate、Ejb)项目开发。这些jar包是Maven构建系统所必需的依赖,它们为开发者提供了丰富的功能和API...
Java源代码文件通常以.java作为扩展名,编译后生成的字节码文件以.class为后缀。执行Java程序,首先需要编译.java文件得到.class文件,然后使用Java虚拟机(JVM)解释执行.class文件。 2. 关于Java中的基本数据类型...
以下是一个基本的Java代码实例,演示如何使用Apache POI将.docx转换为HTML,再用Flying Saucer生成PDF,同时添加水印: ```java import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.xhtmlrenderer.pdf...
- 在代码中添加测试用例,确保在不同HTML输入和系统环境下都能正确生成PDF。 以上就是利用Jtidy和wkhtmltopdf在Java环境中将HTML转换为PDF的基本步骤。为了提高代码的可维护性和复用性,可以将这些操作封装到一个...
生成了 jvm 可以识别的字节码文件。也就是 class 文件,也就是 java 的运行程序。 java:负责运行的部分。会启动 jvm.加载运行时所需的类库,并对 class 文件进行执行。一个文件要被执行,必须要有一个执行的起始点,...
7. **多个类的编译**:一个源文件可以包含多个类,但编译后会为每个类生成一个扩展名为.class的文件。 8. **main方法**:Java应用程序的执行入口点,由`public static void main(String[] args)`定义。 9. **主类*...
PDFlib-9.2.0-MSWin64-C-C++.7z 是一个针对64位Windows操作系统的压缩包,包含了无水印版本的库文件,适合用于实际的工程应用。这个版本已经过测试,证明是有效的,因此可以放心使用。 PDFlib 库的核心功能包括: ...