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,如需转载请自行联系原作者

相关文章
|
2月前
|
C#
【PDF提取内容改名】批量提取PDF指定区域内容重命名PDF文件,PDF自动提取内容命名的方案和详细步骤
本工具可批量提取PDF中的合同编号、日期、发票号等关键信息,支持PDF自定义区域提取并自动重命名文件,适用于合同管理、发票处理、文档归档和数据录入场景。基于iTextSharp库实现,提供完整代码示例与百度、腾讯网盘下载链接,助力高效处理PDF文档。
362 40
|
2月前
|
监控 Java API
Java语言按文件创建日期排序及获取最新文件的技术
这段代码实现了文件创建时间的读取、文件列表的获取与排序以及获取最新文件的需求。它具备良好的效率和可读性,对于绝大多数处理文件属性相关的需求来说足够健壮。在实际应用中,根据具体情况,可能还需要进一步处理如访问权限不足、文件系统不支持某些属性等边界情况。
168 14
|
2月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
2月前
|
存储 Java 编译器
深入理解Java虚拟机--类文件结构
本内容介绍了Java虚拟机与Class文件的关系及其内部结构。Class文件是一种与语言无关的二进制格式,包含JVM指令集、符号表等信息。无论使用何种语言,只要能生成符合规范的Class文件,即可在JVM上运行。文章详细解析了Class文件的组成,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表等,并说明其在Java编译与运行过程中的作用。
|
2月前
|
存储 人工智能 Java
java之通过Http下载文件
本文介绍了使用Java实现通过文件链接下载文件到本地的方法,主要涉及URL、HttpURLConnection及输入输出流的操作。
141 0
|
消息中间件 缓存 运维
憋了半个月的 PDF:精通 Java(七)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(七)
|
缓存 NoSQL Java
憋了半个月的 PDF:精通 Java(六)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(六)
|
SQL 监控 Oracle
憋了半个月的 PDF:精通 Java(三)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(三)
|
设计模式 IDE Java
憋了半个月的 PDF:精通 Java(一)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(一)

热门文章

最新文章