`

从Java应用程序动态生成PDF文件

阅读更多
如果应用程序需要动态生成 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 文档。

  示例应用程序

  还有什么能够比自己动手创建一个工作示例更好地演示技术了?现在有了所需的工具(Eclipse IDE)和库(iText 库),可以开始设计和开发一个示例应用程序了。

  让我们创建一个简单的 PDF 文档,其中包含一些基本元素,如纯文本、非默认字体的彩色文本、表格、列表、章节和小节等。此应用程序的目的是让您熟悉 iText 库的使用方式。有很多与帮助生成 PDF 文档有关的类。在这里不可能介绍所有这些类。iText 的 javadoc 是介绍如何使用这些类的很好的资料。下面让我们来开始编写代码。

  第一步是创建一个文档。文档是 PDF 文档的所有元素的容器。

  清单 1. 实例化文档对象

Document document = new Document(PageSize.A4, 50, 50, 50, 50);

  第一个参数是页面大小。接下来的参数分别是左、右、上和下页边距。但是还没有定义该文档的类型。它取决于所创建的写入器的类型。对于我们的示例,选择了 com.lowagie.text.pdf.PdfWriter。其他写入器为 HtmlWriter、RtfWriter、XmlWriter 等等。它们的名称解释了它们的实际用途。

  清单 2. 创建 PdfWriter 对象

PdfWriter writer = PdfWriter.getInstance(document, \
new FileOutputStream("C:\\ITextTest.pdf"));
document.open(); 

  第一个参数是对文档对象的引用,第二个参数是文件的实际名称,在该名称中还会给出其输出路径。接下来,打开文档以写入内容。
分享到:
评论

相关推荐

    Java 应用程序动态生成 PDF 文件 实例

    总的来说,Java应用程序动态生成PDF文件是通过iText库实现的,这个库提供了丰富的API,使得开发者能够方便地创建具有专业质量的PDF文档。通过深入学习和实践,你将能够利用iText解决各种PDF生成的需求。

    Java动态生成PDF源码

    动态生成PDF意味着在程序运行时根据特定数据或条件创建PDF文件,而不是提前预定义。 Java中生成PDF的库主要有iText、Apache PDFBox、Flying Saucer等。其中,iText是最常用的一个,它提供了丰富的API来创建、修改和...

    java根据特定模板生成pdf

    项目的主要执行入口是main方法,这意味着你可以直接运行这个Java应用程序来生成PDF。通过运行main方法,程序将根据模板和提供的数据生成PDF文档。代码中的注释应该清晰地解释了每一步操作,帮助理解每个功能的作用。...

    JAVA动态生成word和pdf

    ### JAVA动态生成PDF文档技术及其优缺点 #### Jasper Report - **优点**:满足需求,市场使用广泛,相关文档多。 - **缺点**:模板设计复杂,依赖于IDE的可视化编辑,学习曲线陡峭。 #### OpenOffice - **优点**...

    JAVA生成PDF报表.pdf

    为了解决这些问题,需要一种能够动态生成报表的技术,这就是本文要介绍的Java生成PDF报表技术。 二、iText简介 iText是一个著名的开放源码的站点sourceforge的一个项目,是用于生成PDF文档的一个Java类库。通过...

    java生成PDF417条码

    4. **集成到应用**:将条码生成功能集成到你的Java应用程序中,可能需要创建一个服务或工具类,提供生成条码的接口。这可能涉及到处理用户输入、验证数据、选择条码格式,以及将生成的条码图像插入到PDF、报告或网页...

    Java将PDF生成图片

    这些库提供了丰富的API,用于读取、解析和操作PDF文件。 2. **图像渲染**:将PDF转换为图片的关键是渲染PDF页面到图像。Apache PDFBox提供了PDDocument.drawGraphics方法,它允许我们将PDF页面渲染到Java的Graphics...

    Java程序批量生成二维码EPS、CSV、PDF矢量图和各种格式二维码

    MAVEN项目,依赖包比较多,下载稍慢。可以通过这个工具生成QR码。...运行方式:1、在项目上右击 运行java程序,入口在com.fiwan.qrgenerator.GeneratorForm 2、打jar包 java -jar 运行 3、maven插件打exe程序。

    JAVA生成pdf文件

    在Java编程环境中生成PDF文件是一项常见的任务,尤其在企业级应用中,如报表生成、文档输出等场景。PDF(Portable Document Format)是一种跨平台的文件格式,能够保持文档的原始排版和样式,使得文件在不同设备间...

    Java语言程序设计.pdf

    从提供的文件信息来看,该文件名为《Java语言程序设计.pdf》,主要涉及Java语言程序设计的相关知识。以下是从文件【部分内容】中提取并解释的知识点: 1. Java语言程序设计的基本概念:Java是一种面向对象的编程...

    java生成PDF字体库包+PDF包亲测成功

    Java是一种广泛使用的跨平台编程语言,拥有丰富的类库和框架,支持各种应用程序的开发,包括生成PDF文档。在Java中,我们可以使用像iText这样的第三方库来简化PDF的创建过程。 iText是一个开源Java库,它提供了一...

    Java将图片组合成PDF文件的方法

    2. PDF文件生成:PDF文件生成是指使用Java语言生成PDF文件的过程。PDF文件生成可以使用iText库,该库提供了一个强大的PDF文件生成工具,可以生成各种类型的PDF文件,如文本PDF、图像PDF、表格PDF等。 3. 文件选择器...

    itextpdf.zip(JavaPDF文件生成)

    JavaPDF文件生成是Java开发中一个重要的领域,主要用于创建、编辑和处理PDF文档。iTextPDF是一个流行的开源库,它提供了丰富的API...通过熟练掌握iTextPDF,开发者可以在Java应用程序中实现专业级的PDF生成和处理功能。

    通过freemarker模板 生成PDF

    在IT行业中,生成PDF文件是一项常见的任务,尤其在报表、文档和发票的自动化处理中。本主题将深入探讨如何利用Freemarker模板和wkhtmltox工具来实现这一功能。 **Freemarker模板** 是一个强大的Java模板引擎,用于...

    aspose-17.8 Java 生成 pdf 工具类

    首先,`aspose.pdf-17.8.jar`是Aspose.Pdf组件的核心库,它允许开发者在Java应用中创建、操作和转换PDF文档。这个版本号17.8代表了Aspose.Pdf的特定版本,每个版本都可能包含新的功能和性能优化。引入这个库到项目中...

    JAVA动态生成word和pdf.doc

    3. Java2word方案:Java2word是一个在Java程序中调用MS Office Word文档的组件(类库)。该组件提供了一组简单的接口,以便Java程序调用他的服务操作Word文档。 4. iText方案:iText操作Excel还行,对于复杂的大量的...

    java jsp 生成 pdf flyingsaucer

    - Flying Saucer 提供了 Java API,允许开发者在 JSP 或其他 Java 应用程序中调用 PDF 生成功能。这些 API 包括 `ITextRenderer` 类,它是主要的渲染器,用于处理 HTML 到 PDF 的转换。 3. **JSP(JavaServer ...

Global site tag (gtag.js) - Google Analytics