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

许多应用程序都要求动态生成 PDF 文档。这些应用程序涵盖从生成客户对帐单并通过电子邮件交付的银行到购买特定的 图书章节并以 PDF 格式接收这些图书章节的读者。这个列表不胜枚举。在本文中,我们将使用 iText Java 库生成 PDF 文 档。我们将向您演示一个样例应用程序,以便您可自行完成它并能更好地理解它。

熟悉 iText V5.3.0 版

iText 是一个可从 http://itextpdf.com/ 免费获取的 Java 库。iText 库非常强大,且支持生成 HTML、RTF 和 XML 文档,还支持生成 PDF 文档。您可以选择各种各样的字体来用于文档中。另外,iText 的结构允许您使用相同代码生 成上面提及的任何类型的文档。

iText 库包含使用各种字体生成 PDF 文本、在 PDF 文档中生成表格、向页面中添 加水印等的类。iText 还提供了其他许多特性。在一篇文章中无法演示所有这些特性。我们将介绍生成 PDF 所需的基本知 识。有关更多详细信息,请参阅供应商提供的文档。

我们将使用 Eclipse 开发我们的样例应用程序。作为一个开源 IDE,Eclipse 可免费获取且非常强大。您可立即下载 Eclipse。

iText API:详细了解

com.itextpdf.text.Document 是用于生成 PDF 文档的主要类。这是第一个需要实例化的类。创建文档之后,您需 要一个编写器来向其中写入信息。com.itextpdf.text.pdf.PdfWriter 是一个 PDF 编写器。下面提供了其他一些常用的类 :

com.itextpdf.text.Paragraph:此类表示一个缩进的段落。

com.itextpdf.text.Chapter:此类表示 PDF 文档中的一章。使用 Paragraph 作为标题、int 作为章节编号来创建该类 。

com.itextpdf.text.Font:此类包含一种字体的所有规范,比如字体集、字号、样式和颜色。各种字体都在此类中声明 为静态常量。

com.itextpdf.text.List:此类表示一个列表,反过来,该列表又包含许多 ListItems。

com.itextpdf.text.pdf.PDFPTable:这是一个表格,可放在一个绝对位置上,也可作为类 Table 添加到文档中。

com.itextpdf.text.Anchor:一个 Anchor 可能是一个引用,或是一个引用的目标。

在 Eclipse 中下载和配置 iText

作为一个纯 Java 库,iText 以 JAR 文件的形式提供。下载该库之后(假设下载到路径 C:\temp),使用以下步骤在 Eclipse 环境中配置 iText 库:

在 Eclipse 中创建一个名为 iText 的新 Java 项目。

右键单击 Package Explorer 视图中的 iText 项目,选择 Properties。

单击 Java Build Path。在 Libraries 选项卡上,单击 Add External JARs。

找到 C:\temp 目录并选择此目录中的 itext-5.3.0.jar。

单击 OK。

iText 现在已配置,Eclipse 已准备好创建 Java 应用程序来生成动态的 PDF 文档。

样例应用程序

还有 什么能比您亲自创建的一个有效样例能更好地演示任何技术呢?现在您已拥有所需的工具 (Eclipse IDE) 和库 (iText library),我们已准备好设计和开发一个有效的样例程序。

首先创建一个简单的 PDF 文档,该文档包含一些基本元 素,比如纯文本、具有非默认字体的彩色文本、表格、列表、章、节等。此应用程序的用途是让您熟悉使用 iText 库的方 式。有许多类为您执行了与 PDF 文档生成相关的大量工作。本文不可能介绍所有这些类。iText 的 javadocs 是有关如何 使用这些类的一个不错的信息来源。接下来我们开始编码。

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

清单 1. 实例化文档对象

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

第一个参数是页面大小。接下来的几个参数分别是左边距、右边距、上边距和下边距。此文档的类型还未定义 。它依赖于您创建的编写器类型。对于我们的样例,我们选择 com.itextpdf.text.pdf.PdfWriter。其他编写器包括 HtmlWriter、RtfWriter、XmlWriter 等。它们的名称说明了它们的实际用途。

清单 2. 创建 PdfWriter 对象

PdfWriter writer = PdfWriter.getInstance(document, \

new FileOutputStream("C:\\ITextTest.pdf"));

document.open();

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文档
, itext
, eclipse 字体
, 应用程序
, java itext pdf
, itext pdf 分页
, eclipse自动缩进
, itextpdf
, 生成pdf
, 生成
, java创建字体文件
, itext签名
, java动态库libraries
一个
java生成应用程序、java动态生成html页面、java 动态生成类、java 动态生成class、小程序动态生成组件,以便于您获取更多的相关知识。

时间: 2024-09-10 20:13:35

如何从Java应用程序动态生成PDF文件的相关文章

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

pdf|程序|动态 如果应用程序需要动态生成 PDF 文档,则需要 iText 库.开放源码的 iText 库使 PDF 文档的创建能够在瞬间完成.本文介绍了 iText 并提供了使用它从 Java ? 技术应用程序生成 PDF 文档的由浅入深的指南.我们创建了一个示例应用程序以更好地理解 iText. 很多应用程序要求动态生成 PDF 文档.这类应用程序包括银行生成用于电子邮件投递的客户报表,到读者购买特定图书章节并以 PDF 格式接收这些文档.例子罗列下去是很多的.在本文中,将使用 iTex

Java 动态生成 PDF 文件

每片文章前来首小诗:   今日夕阳伴薄雾,印着雪墙笑开颜.我心仿佛出窗前,浮在半腰望西天.  --泥沙砖瓦浆木匠 需求: 项目里面有需要java动态生成 PDF 文件,提供下载.今天我找了下有关了,系统得学习了解下. 开源的 iText 库使得 PDF 的创建变得轻松易行.下面介绍下   方案: -----------------------  iText V5.X.X 版 ----------------------- 第一步学习: 了解下: com.itextpdf.text.Documen

PHP在网页中动态生成PDF文件详细教程_php实例

本文详细介绍使用 PHP 动态构建 PDF 文件的整个过程.使用免费 PDF 库 (FPDF) 或 PDFLib-Lite 等开源工具进行实验,并使用 PHP 代码控制 PDF 内容格式. 有时您需要准确控制要打印的页面的呈现方式.在这种情况下,HTML 就不再是最佳选择了.PDF 文件使您能够完全控制页面的呈现方式,以及文本.图形和图像在页面上的呈现方式.遗憾的是,用来构建 PDF 文件的 API 不属于 PHP 工具包的标准部件.现在您需要提供一点帮助. 当您在网络上搜索,寻找对 PHP 的

直接用java命令行动态生成jpg文件

/** * jeruGraphics v 1.0 * * 看到一些动态生成图象的例子都是servlet完成的, * 而且程序很长,觉得不是无论从实用性还是可读性来说都不是太好. * 这里给了段代码,命令行生成图象文件.这样是不是简单易用些呢? * * 创建一个 BufferedImage 对象,将你的"画"放到这个缓冲里, * 再打开一个文件,将图像流编码后输入这个文件,这样就有一个 * jpg文件出现了,试试吧... * * Mender : * Jeru Liu * Homepag

利用Java动态生成 PDF 文档

利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那么目前最佳的解决方案,你可能会想到 iText ,对没错... iText+(Velocity / Freemarker)可以实现.不过据我熟悉,iText本身提供的HTML解析器还是不够强大,许多HTML标签和属性无法识别,更悲催的是简单的CSS它不认识,排版调整样式会让你头大的.不要失望,接下来

java pdf转化为swf时,程序报生成swf文件,在对应的路径下,没生成swf文件,什么原因

问题描述 java pdf转化为swf时,程序报生成swf文件,在对应的路径下,没生成swf文件,什么原因 图片说明](http://img.ask.csdn.net/upload/201605/10/1462847159_88612.png) 解决方案 doc.pdf转换为swf文件预览 解决方案二: 不要考虑swf格式了,快要被淘汰了

工具-Linux系统下java程序如何将PDF文件转换成SWF文件

问题描述 Linux系统下java程序如何将PDF文件转换成SWF文件 我需要将PDF文件转换成SWF格式的文件,目前是用windows系统开发java程序,windows系统中这种转型已经搞定,用的是swftools工具.但是开发完成之后,程序要部署到Linux系统中.由于不熟悉Linux系统所以无从下手,希望高手指点,最好也用swftools工具转型,尽量详细一些,跪谢. 解决方案 前不久刚用过,应该注意的是swftools工具在linux的安装,有时需要依赖才能安装下去,这个工具安装好就基

jar-如何用java生成pdf文件

问题描述 如何用java生成pdf文件 就是写一个方法,把一个html文件打印成pdf文件,我按照网上的试了,用了itext,结果不能显示中文,求大神帮忙,最好给出相应的jar包 解决方案 参考:http://www.jb51.net/article/36626.htm 解决方案二: http://bbs.csdn.net/topics/390670679 解决方案三: 最近刚学到ssh输出excel,用到了POI,你可以可以试一下,我还没做出来,没法给demo了,记住关键词POI,自己搜吧 解

swf-Linux系统下java程序如何将PDF文件转换成SWF文件

问题描述 Linux系统下java程序如何将PDF文件转换成SWF文件 我需要将PDF文件转换成SWF格式的文件,目前是用windows系统开发java程序,windows系统中这种转型已经搞定,用的是swftools工具,版本是swftools-2013-04-09-1007. 程序开发完成后,需要要部署到Linux系统中.在网上Linux实现的例子比较少,尝试了很多次都没能成功.我现在有Linux系统的swftools-2013-04-09-1007.tar.gz工具,有已经实现功能的朋友,