iTextPDF 5.5.13PDF生成库

PDF 文件的生成需求不算少,在移动端项目里,搞个报表导出、合同生成啥的,蛮常见的。iTextPDF 5.5.13就是个比较老牌、稳定的 PDF 生成库,专门写 Java 的你早听说过,它在 Android 上也挺能打的,兼容性还不错。

它的核心是PdfWriter,用法也挺直接。你只要搞个Document对象,再通过PdfWriter.getInstance()关联输出流,接下来open()打开文档,add()添加内容,close()收尾。像下面这个例子,三两行就能输出一个“Hello, World!”:

Document document = new Document();
try {
  PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
  document.open();
  document.add(new Paragraph("Hello, World!"));
} catch (Exception e) {
  e.printStackTrace();
} finally {
  document.close();
}

除了文字,iTextPDF也支持插图、表格、字体样式、链接等等。比如图片用Image.getInstance(),表格用PdfPTable,一上手就知道怎么搞:

Image image = Image.getInstance("image.jpg");
document.add(image);
PdfPTable table = new PdfPTable(2);
table.addCell("Column 1");
table.addCell("Column 2");
document.add(table);

在 Android 项目里用的时候,要注意 PDF 库本身会让 APK 体积变大,所以发布前记得优化。嗯,还有,不同版本的兼容性有点差异,5.5.13算是稳定款,踩坑少。

如果你刚好有一个 PDF 导出需求,不妨看看它的示例代码printPdfTest.java,通常都会演示页面设置、段落样式、颜色字体怎么调,照着改一改就能用。

想生成中文 PDF 的,可以看看Android 用 itext 库生成中文 PDF 文档这篇,中文乱码问题还挺实用的。

rar 文件大小:2.07MB