PDF 是数字文档领域的主流文件格式之一。除了其他流行的功能,PDF 格式还允许您将文件作为附件嵌入 PDF 文件中。这些附件类似于您添加到电子邮件中的附件。为了自动化 PDF 附件操作,本文为您提供了一些使用 Java 在 PDF 文件中添加和删除附件的简单方法。
PDF 附件的 Java API – 免费下载
Aspose.PDF for Java 是 PDF 文件操作 API,可让您在 Java 应用程序中创建、编辑和操作 PDF 文档。此外,它提供了易于使用的方法来添加和删除 PDF 文件中的附件。您可以使用以下配置 下载 API 的 JAR 或将其安装在基于 Maven 的应用程序中。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.10</version>
<classifier>jdk17</classifier>
</dependency>
使用 Java 提取 PDF 附件信息
首先,让我们看看如何在 PDF 文件中检索有关附件的信息。该信息包含附件的名称、描述、MIME 类型和其他参数,例如校验和、修改日期等。以下是在 PDF 文件中获取有关附件信息的步骤。
- 使用 Document 类加载 PDF 文件。
- 使用 FileSpecification 类使用 Document.getEmbeddedFiles().getItem(int) 方法检索 PDF 附件。
- 使用 FileSpecification 对象检索附件的信息。
以下代码示例展示了如何使用 Java 获取 PDF 附件的信息。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打开文档
Document pdfDocument = new Document("input.pdf");
// 获取特定的嵌入文件
FileSpecification fileSpecification = pdfDocument.getEmbeddedFiles().get_Item(1);
// 获取文件属性
System.out.println("Name:-" + fileSpecification.getName());
System.out.println("Description:- " + fileSpecification.getDescription());
System.out.println("Mime Type:-" + fileSpecification.getMIMEType());
// 检查参数对象是否包含参数
if (fileSpecification.getParams() != null) {
System.out.println("CheckSum:- " + fileSpecification.getParams().getCheckSum());
System.out.println("Creation Date:- " + fileSpecification.getParams().getCreationDate());
System.out.println("Modification Date:- " + fileSpecification.getParams().getModDate());
System.out.println("Size:- " + fileSpecification.getParams().getSize());
}
在 Java 中为 PDF 添加附件
以下是向 PDF 文档添加附件的步骤。
- 使用 Document 类加载 PDF 文件。
- 创建一个 FileSpecification 类的对象来加载附件文件。
- 使用 Document.getEmbeddedFiles().add(FileSpecificatio) 方法添加附件。
- 使用 Document.save(String) 方法保存 PDF 文件。
以下代码示例展示了如何使用 Java 向 PDF 添加附件。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打开文档
Document pdfDocument = new Document("input.pdf");
// 设置要添加为附件的新文件
FileSpecification fileSpecification = new FileSpecification("sample.txt", "Sample text file");
// 将附件添加到文档的附件集合
pdfDocument.getEmbeddedFiles().add(fileSpecification);
// 保存更新的文档
pdfDocument.save("output.pdf");
用Java从PDF中删除附件
您可以使用其名称删除特定附件,也可以一次删除所有附件。以下是从 PDF 文档中删除附件的步骤。
- 使用 Document 类加载 PDF 文件。
- 使用 Document.getEmbeddedFiles().delete() 和 Document.getEmbeddedFiles().delete(String) 分别删除全部或特定附件。
- 使用 Document.save(String) 方法保存 PDF 文件。
以下代码示例展示了如何使用 Java 删除 PDF 附件。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打开文档
Document pdfDocument = new Document("input.pdf");
// 删除所有附件
pdfDocument.getEmbeddedFiles().delete();
// 保存更新的文件
pdfDocument.save("output.pdf");
结论
在本文中,您学习了如何使用 Java 处理 PDF 文件中的附件。分步指南和代码示例展示了如何使用 Java 以编程方式在 PDF 中添加和删除附件。您可以使用 documentation 探索有关 Aspose.PDF for Java 的更多信息。