用于 PDF 文档管理的 Java 库
开源 Java API,用于从您自己的应用程序创建、编辑和操作 PDF 文件。
开始使用 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."));