Java iText PDF:用 iText 包生成简单的 pdf 文件

简介:

有点兴趣想要看看 Java 怎么生成 PDF 文件,搜索了一下,据说 iText 包比较好,到 这里下载 iText.jar 包,顺便把源代码、文档都一起下载了吧。但是,仅仅有这么一些材料想要写代码生成 pdf 文件还是比较困难的,好在官网上有一些 Examples 可以看看,此外,想要真正用好 iText 包,还得花 $59.99 买那本《iText in Action》呢(官网看看就知道,不过有免费的第二章可以下载),呼…

从下载下来的第二章的截图可以看到,用 iText 包生成 pdf 文件的步骤如下:

 

按照这 5 个步骤生成的应该是最简单的 pdf 文件了,只有纯文本。我们看看官网上的 Examples ,也写一下代码: 


 
 
  1. import java.io.File;  
  2. import java.io.FileOutputStream;  
  3. import java.io.IOException;  
  4.  
  5. import com.itextpdf.text.*;  
  6. import com.itextpdf.text.pdf.PdfWriter;  
  7.  
  8. public class PdfTest  
  9. {  
  10.     public static void main(String[] args) throws Exception  
  11.     {  
  12.         Document pdfDoc = new Document();  
  13.         // 将要生成的 pdf 文件的路径输出流  
  14.         FileOutputStream pdfFile =   
  15.             new FileOutputStream(new File("F:/study/test/firstPdf.pdf"));  
  16.  
  17.         // pdf 文件中的一个文字段落  
  18.         Paragraph paragraph = new Paragraph("My first PDF file with an image ...");  
  19.         Image image = Image.getInstance("F:/study/test/洛克 李.jpg");  
  20.           
  21.         // 用 Document 对象、File 对象获得 PdfWriter 输出流对象  
  22.         PdfWriter.getInstance(pdfDoc, pdfFile);  
  23.         pdfDoc.open();  // 打开 Document 文档  
  24.           
  25.         // 添加一个文字段落、一张图片  
  26.         pdfDoc.add(paragraph);  
  27.         pdfDoc.add(image);  
  28.       
  29.         pdfDoc.close();  
  30.     }  

添加 iText-5.0.3.jar 包的路径到 classpath 环境变量中,编译运行,生成的文件如下:

 呵呵…这 pdf 文件真是够简单的了。如果真的想要多摸索一下,我想那 free 下载的第二章 应该也有点用处,另外,这里的 Examples 也够入门的了。

免费下载的第二章是关于怎样组装一个比较多样化的 Document 对象的,截图如下:



本文转自 xxxx66yyyy 51CTO博客,原文链接:http://blog.51cto.com/haolloyin/374305,如需转载请自行联系原作者

相关文章
|
7月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
294 1
|
10月前
|
存储 Java 编译器
深入理解Java虚拟机--类文件结构
本内容介绍了Java虚拟机与Class文件的关系及其内部结构。Class文件是一种与语言无关的二进制格式,包含JVM指令集、符号表等信息。无论使用何种语言,只要能生成符合规范的Class文件,即可在JVM上运行。文章详细解析了Class文件的组成,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表等,并说明其在Java编译与运行过程中的作用。
291 0
|
10月前
|
C#
【PDF提取内容改名】批量提取PDF指定区域内容重命名PDF文件,PDF自动提取内容命名的方案和详细步骤
本工具可批量提取PDF中的合同编号、日期、发票号等关键信息,支持PDF自定义区域提取并自动重命名文件,适用于合同管理、发票处理、文档归档和数据录入场景。基于iTextSharp库实现,提供完整代码示例与百度、腾讯网盘下载链接,助力高效处理PDF文档。
1275 40
|
10月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
10月前
|
存储 人工智能 Java
java之通过Http下载文件
本文介绍了使用Java实现通过文件链接下载文件到本地的方法,主要涉及URL、HttpURLConnection及输入输出流的操作。
700 0
|
7月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
373 1
|
7月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
350 1
|
8月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
344 0
|
8月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
516 16