PDF 是 Adobe 创建的一种通用文件格式,无论使用何种软件、硬件或操作系统,它都能为人们提供一种简单、可靠的方式来呈现和交换文档。此外,PDF/A 是 PDF 的一种存档格式,它将文档中使用的所有字体嵌入到 PDF 文件中。此外,由于 PDF/A 文件包含显示它所需的一切,并且没有任何内容会对显示产生负面影响,因此许多用户希望将 PDF 导出为 PDF/A。因此,在本分步指南中,我们将探索使用 Java 将 PDF 转换为 PDF/A 的详细信息。
PDF转换API
Aspose.PDF Cloud 提供创建、编辑和操作 PDF 文档的能力。它提供加载 PDF 文件并转换为大量支持的格式 的功能。现在为了使用 SDK,首先我们需要在我们的 Java 应用程序中添加 Aspose.PDF Cloud SDK for Java 的引用,方法是在 pom.xml(maven 构建类型项目)中包含以下详细信息。
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cloud-pdf</artifactId>
<version>21.11.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
添加 SDK 参考后,我们需要从 Cloud Dashboard 获取您的客户端凭据。如果您尚未注册,请使用有效的电子邮件地址注册并获取您的个性化凭据。
使用 Java 将 PDF 转为 PDF/A
本节提供从云存储加载 PDF 文档并转换为 PDF/A 格式的所有必要详细信息。请注意,API 目前支持以下 PDF/A 格式(PDF/A1-A、PDF/A1-B、PDF/A-3A)。
- 首先,创建一个 PdfApi 实例,我们将个性化凭证作为参数传递给它
- 其次,使用 File 实例读取输入的 PDF,并使用 PdfAPI 的 uploadFile(…) 方法将其上传到云端
- 第三,使用字符串变量将 PDF/A 类型定义为 PDFA1A
- 最后,调用方法 putPdfInStorageToPdfA(…) 将 PDF 转换为 PDF/A 并将输出保存到云存储
// 有关更多示例,请访问 https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java/tree/master/Examples/src/main/java/com/aspose/asposecloudpdf/examples
try
{
// 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
// 创建 PdfApi 的实例
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// 输入 PDF 文档的名称
String name = "PdfWithAcroForm.pdf";
// 读取输入PDF文件的内容
File file = new File("/Users/Downloads/"+name);
// 上传PDF到云存储
pdfApi.uploadFile("input.pdf", file, null);
// 生成的 PDF/A 类型
String type = "PDFA1A";
// 调用 API 将 PDF 转换为 PDF/A 格式。将输出保存在云存储中
pdfApi.putPdfInStorageToPdfA("input.pdf", "Converted.pdf", type, null, null);
// 打印成功信息
System.out.println("PDF to PDF/A conversion successful !");
}catch(Exception ex)
{
System.out.println(ex);
}
使用 cURL 命令将 PDF 转换为 PDF/A
我们还可以选择使用 cURL 命令执行 PDF 到 PDF/A 的转换。因此,此方法的先决条件是使用以下命令生成 JWT 访问令牌(基于客户端凭据)。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
生成 JWT 后,我们需要执行以下命令从云存储加载 PDF 并转换为 PDF/A-1b 格式。转换后,我们将把输出保存在本地驱动器上。
curl -X -v GET "https://api.aspose.cloud/v3.0/pdf/PdfWithAcroForm.pdf/convert/pdfa?type=PDFA1B" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o "Resultant.pdf"
结论
在本文中,我们完成了使用 Java REST API 将 PDF 转换为 PDF/A 格式的所有必要步骤。整个过程简单明了,可以很容易地集成到新的或现有的 Java 应用程序中。无论您需要转换单个 PDF 还是执行多个表单的批处理,本指南都可以轻松地将 PDF 转换为 PDF/A 合规格式。
我们强烈建议浏览 产品文档,因为它包含有关 API 其他令人兴奋的功能的所有信息。如果您想访问 Cloud SDK 的源代码,可以在 GitHub(根据 MIT 许可发布)上找到它。最后,如果您在使用 API 时遇到任何问题,请随时通过免费的 产品支持论坛 与我们联系。
相关文章
请访问以下链接以了解更多信息: