1. 产品
  2.   PDF格式
  3.   Java
  4.   OpenPDF
 
  

用于 PDF 文档管理的 Java 库

开源 Java API,用于从您自己的应用程序创建、编辑和操作 PDF 文件。

OpenPDF 是一个面向 Java 开发人员的开源 PDF 库。它允许从 Java 应用程序创建和修改 PDF 文件,而无需任何外部依赖。 OpenPDF 获得 LGPL 和 MPL 许可,是 iText 版本 4 的一个分支。

PDF 是世界上最受欢迎的文档格式之一,并且仍然非常有用。 OpenPDF API 支持几个重要功能,例如创建和修改 PDF 文档、向 PDF 添加图像、向现有 PDF 文件插入新页面、创建段落、添加页眉和页脚、创建目录、内容编辑和更多。

Previous Next

开始使用 OpenPDF

使用 OpenPDF 库需要 Java 8 或更高版本。从 Java 8 到 Java 12 的所有 Java 版本都经过测试可以正常工作。默认情况下,它将编译 Java 源并将二进制类打包成 jar 包。

OpenPDF Maven 依赖

<dependency>
  <groupId>com.github.librepdf</groupId>
  <artifactId>openpdf</artifactId>
  <version>1.3.11</version>
</dependency>

通过 Java API 创建和编辑 PDF 文件

OpenPDF 提供了创建 PDF 文档以及从 Java 应用程序修改的功能。软件开发人员可以轻松创建包含内容和图像的 PDF 文档。为了创建一个新文档,首先,您需要创建一个文档对象,然后创建一个编写器来侦听文档并将 PDF 流定向到文件。创建文档后,您可以轻松地添加段落、添加新页面和插入图像。

创建 PDF 文档 - Java

// Intialize Document object
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("FileFormat.pdf"));
// Open document
document.open();
// Add pargraph
document.add(new Paragraph("FileFormat Developer Guide"));
// Close document
document.close();

通过 Java 将图像插入 PDF 文档

OpenPDF 允许 Java 程序员将图像插入到他们自己的 Java 应用程序中的 PDF 文档中。图像总是为内容增加更多价值。要插入图像,您需要提供图像名称和位置,然后通过调用文档对象,您可以打开文档并将图像添加到所需的页面或位置。完成后,您只需关闭文档即可提交更改。

在 PDF 中添加图像 - Java

// Intialize Document object
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
// Open document
document.open();
Image jpg = Image.getInstance("sample.jpg");
document.add(jpg);
// Close document
document.close();

将列表添加到 PDF 文档

OpenPDF API 方便 Java 开发人员向 PDF 文档添加列表。您可以创建一个列表,然后轻松地将列表项添加到 PDF。您还可以传递用于标记列表项的符号(Unicode 字符)。您还可以选择编号或字母列表。还有罗马字母和希腊字母的专门课程。

通过 Java 将书签添加到 PDF 中的列表

 Document document = new Document(PageSize.A4);
PdfWriter instance = PdfWriter.getInstance(document, new FileOutputStream("out.pdf"));
instance.setViewerPreferences(PdfWriter.PageModeUseOutlines);
document.open();
List list = new List();
list.add(new ListItem(new Chunk("ABC").setLocalDestination("dest1")));
list.add(new ListItem(new Chunk("XYZ").setLocalDestination("dest2")));
document.add(list);
// add outline items
PdfOutline root = instance.getDirectContent().getRootOutline();
new PdfOutline(root, PdfAction.gotoLocalPage("dest1", false), "abc-item");
new PdfOutline(root, PdfAction.gotoLocalPage("dest2", false), "xyz-item");
document.close();

通过 Java 为 PDF 文档添加页眉和页脚

页眉和页脚可以保存有关文档或数据的重要信息,以帮助组织较长的文档并使它们更易于阅读。页眉和页脚通常包括附加信息,例如页码、日期、作者姓名和脚注等。 OpenPDF API 使 Java 开发人员只需几行代码就可以在他们的 PDF 文档中添加页眉和页脚。

如何通过 Java 从第一页开始页眉和页脚

 Document document = new Document();
document.setPageSize(PageSize.A7.rotate()); // just to make output smaller
document.setMargins(15f, 15f, 24f, 20f);
HeaderFooter header = new HeaderFooter(new Phrase("This is a header."), false);
HeaderFooter footer = new HeaderFooter(new Phrase("This is a footer on page "), new Phrase("."));
document.setHeader(header);
document.setFooter(footer);
document.open(); // only open the document after header/footer have been set
document.add(new Paragraph("Hello World"));
document.add(Chunk.NEXTPAGE);
document.add(new Paragraph("Hello new page."));
 中国人