在日常工作中,我们会收到 PDF 形式的文档,因为它们在互联网上非常流行,用于信息共享。但是,我们可能需要防止用户复制 PDF 文件内容,因此最简单的方法之一是将 PDF 另存为 PNG。现在,为了执行批量转换,编程解决方案是最快和最智能的方法。因此,在本文中,我们将讨论有关如何使用 Java Cloud SDK 将 PDF 转换为 PNG 的详细信息。
PDF 到 PNG 转换 API
Aspose.PDF Cloud SDK for Java 使 Java 程序员能够引入与 PDF 文件创建、操作和转换为各种支持格式相关的功能。因此,无需使用 Adobe Acrobat 或任何其他软件,您就可以加载 PDF 并保存为不同的格式。现在为了开发 PDF 到 PNG 转换器,请在 maven 构建类型项目的 pom.xml 中添加以下信息。
<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-pdf-cloud</artifactId>
<version>21.11.0</version>
</dependency>
</dependencies>
上述细节将在 Java 项目中添加 SDK 引用,现在下一个重要步骤是在 Aspose Cloud 上创建免费帐户。因此,请使用新创建的帐户登录,并在 Cloud Dashboard 查找/创建客户端 ID 和客户端密码。后续部分需要这些详细信息。
在 Java 中将 PDF 转换为 PNG
是时候使用 Java 代码片段执行 PDF 到 PNG 的转换了。请注意,本节中使用的 API 调用需要从云存储加载源 PDF 文件,如果它不可用,我们可以使用一种简单的方法轻松上传。
- 首先,我们需要创建一个 PdfApi 对象,同时提供 ClientID 和 Client secret 作为参数
- 其次,使用 File 实例加载输入 PDF 文件
- 第三,使用 uploadFile(…) 方法将输入的 PDF 上传到云存储
- 创建定义 PDF 页码和结果图像尺寸的整数对象
- 最后调用 getPageConvertToPng(…) 方法,需要输入 PDF、页码和定义结果文件尺寸的可选参数。转换后,生成的图像作为响应流返回
try
{
// 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// 创建 PdfApi 的实例
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// 输入 PDF 文档的名称
String inputFile = "PdfWithScreenAnnotations.pdf";
// 读取输入PDF文件的内容
File file = new File("//Users//"+inputFile);
// 上传PDF到云存储
pdfApi.uploadFile("input.pdf", file, null);
// 要转换的 PDF 的特定页面
int pageNumber =2;
// 生成的 PNG 图像的宽度
int width = 800;
// 生成的 PNG 图像的高度
int height = 1024;
// 调用API在线将PDF转PNG
pdfApi.getPageConvertToPng("input.pdf", pageNumber, width, height, null, null);
// 打印成功信息
System.out.println("PDF to PNG Successsul !");
}catch(Exception ex)
{
System.out.println(ex);
}
如果我们需要将 PDF 保存为 PNG 并将输出保存到云存储,请按照下面指定的说明进行操作。
- 首先,我们需要创建一个 PdfApi 对象,同时提供 ClientID 和 Client secret 作为参数
- 其次,使用 File 实例加载输入 PDF 文件
- 第三,使用 uploadFile(…) 方法将输入的 PDF 上传到云存储
- 现在创建字符串变量,保存生成的 PNG 的路径详细信息,以及定义生成的 PNG 的页码和尺寸的整数对象
- 最后调用 putPageConvertToPng(…) 方法,需要输入 PDF、结果 PNG 的路径、页码和定义结果文件尺寸的可选参数
try
{
// 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// 创建 PdfApi 的实例
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// 输入 PDF 文档的名称
String inputFile = "PdfWithScreenAnnotations.pdf";
// 读取输入PDF文件的内容
File file = new File("//Users//"+inputFile);
// 上传PDF到云存储
pdfApi.uploadFile("input.pdf", file, null);
// 生成的 PNG 图像的名称
String resultant = "Resultant.png";
// 要转换的 PDF 的特定页面
int pageNumber =2;
// 生成的 PNG 图像的宽度
int width = 800;
// 生成的 PNG 图像的高度
int height = 1024;
// 调用API在线将PDF转PNG
pdfApi.putPageConvertToPng("input.pdf", pageNumber, resultant, width, height, null, null);
// 打印成功信息
System.out.println("Save PDF as PNG Successsul !");
}catch(Exception ex)
{
System.out.println(ex);
}
上例中使用的示例 PDF 文件可以从 PdfWithScreenAnnotations.pdf 下载
使用 cURL 命令将 PDF 保存为 PNG
cURL 命令也是通过命令行终端访问 REST API 的便捷方式之一。现在,此方法的先决条件是在执行以下命令时生成 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 保存为 PNG。现在为了在本地保存文件,我们只使用 -o 参数并将输出保存在本地驱动器上。
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/pages/2/convert/png?width=800&height=1000" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o resultant.png
结论
本文帮助我们使用 Java Cloud SDK 开发 PDF 到 PNG 转换器。我们已经看到了使用 Java 代码片段将 PDF 转换为 PNG 的示例,并且我们已经了解了使用 cURL 命令将 PDF 保存为 PNG 的步骤。我们还提供从 GitHub 下载 Java Cloud SDK 完整源代码的杠杆,您可以根据您的要求修改它(它在 MIT 许可下发布)。如有任何问题,您可以考虑通过免费的 产品支持论坛 联系我们寻求快速解决方案。
相关文章
我们强烈建议访问以下链接以了解更多信息: