PDF 到 PDF/A

使用 Java 将 PDF 转换为 PDF/A

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 时遇到任何问题,请随时通过免费的 产品支持论坛 与我们联系。

相关文章

请访问以下链接以了解更多信息: