有点兴趣想要看看 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 p_w_picpath ...");  
  19.         Image p_w_picpath = 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(p_w_picpath);  
  28.       
  29.         pdfDoc.close();  
  30.     }  

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

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

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