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月前
|
Java Apache Maven
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。
|
2月前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
230 1
|
2月前
|
存储 Java API
如何使用 Java 中的 API 更改 PDF 纸张大小
如何使用 Java 中的 API 更改 PDF 纸张大小
50 11
|
2月前
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
Java/Spring项目的包开头为什么是com?
|
2月前
|
Java BI API
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
这篇文章介绍了如何在Spring Boot项目中整合iTextPDF库来导出PDF文件,包括写入大文本和HTML代码,并分析了几种常用的Java PDF导出工具。
480 0
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
|
2月前
|
计算机视觉 Python
Python操作PDF文件
Python操作PDF文件
|
2月前
|
JavaScript 前端开发 容器
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
118 0
|
11天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
|
2天前
|
缓存 Java 开发者
Java多线程编程的陷阱与最佳实践####
本文深入探讨了Java多线程编程中常见的陷阱,如竞态条件、死锁和内存一致性错误,并提供了实用的避免策略。通过分析典型错误案例,本文旨在帮助开发者更好地理解和掌握多线程环境下的编程技巧,从而提升并发程序的稳定性和性能。 ####
|
1天前
|
安全 Java 开发者
Java中的多线程编程:从基础到实践
本文深入探讨了Java多线程编程的核心概念和实践技巧,旨在帮助读者理解多线程的工作原理,掌握线程的创建、管理和同步机制。通过具体示例和最佳实践,本文展示了如何在Java应用中有效地利用多线程技术,提高程序性能和响应速度。
19 1