如何在 Java 中优化 PDF

正如我们之前所讨论的,PDF 是保存、共享和保护大小文档的理想文件格式。它与大多数操作系统的高度兼容性使其在大多数用户中很受欢迎,可以与各方共享信息。此外,它提供了一个更静态的平台来处理合同和手册等重要文档,因为可以采取措施防止对文件进行任何不必要的访问或编辑。

但是,对于像这样大型且高度复杂的文件,不同的系统可能难以上传、下载和读取文档的格式。这可能会导致文件损坏或加载时间增加,从而降低工作效率。因此,简化大型 PDF 文件可以使在日常运营中经常使用这种格式的组织受益匪浅。

以下 API 将允许您以三种不同的方式优化 PDF 文件:减小文件大小、线性化内容以及将常见 PDF 文件转换为 PDF/A。 使用这些工具,您将简化最大文档的保存和共享,并提高组织的整体生产力。

要开始使用这些 API 中的任何一个,您首先需要安装 SDK 库,这可以通过 Maven 或 Gradle 完成。要使用 Maven 进行安装,您需要在 pom.xml 中添加对存储库的 Jitpack 引用:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

然后,您可以添加对依赖项的引用:

<dependencies>
<depndency>
    <groupId>com.github.Cloudmersive</groupId>
    <artifactId>Cloudmersive.APIClient.Java</artifactId>
    <version>v3.54</version>
</dependency>
</dependencies>

要使用 Gradle 进行安装,您可以在仓库末尾的根 build.gradle 中添加引用:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

然后,在 build.gradle 中添加依赖项:

dependencies {
        implementation 'com.github.Cloudmersive:Cloudmersive.APIClient.Java:v3.54'
}

完成安装后,可以调用该函数。第一个功能将通过优化 PDF 的内容来减小 PDF 的文件大小。

// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.EditPdfApi;
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");
EditPdfApi apiInstance = new EditPdfApi();
File inputFile = new File("/path/to/inputfile"); // File | Input file to perform the operation on.
try {
    byte[] result = apiInstance.editPdfReduceFileSize(inputFile);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling EditPdfApi#editPdfReduceFileSize");
    e.printStackTrace();
}

这将返回一个可下载的 PDF 文件,然后可以根据需要使用。若要确保此 API 正常工作,需要确保满足某些要求:

PDF 文件有效且输入正确。
您已输入 API 密钥。这可以在 Cloudmersive 网站上免费检索,在我们的 API 库中提供每月 800 次调用。
如果您使用 Internet 发送或下载大文件,下一个 API 将线性化您的 PDF 文件以进行流式下载。这将允许您在下载文件时查看文件的内容,而不是等待否则可能发生的长时间加载时间。和以前一样,您需要先安装 SDK 库;然后,您可以调用该函数:

// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.EditPdfApi;
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");
EditPdfApi apiInstance = new EditPdfApi();
File inputFile = new File("/path/to/inputfile"); // File | Input file to perform the operation on.
try {
    byte[] result = apiInstance.editPdfLinearize(inputFile);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling EditPdfApi#editPdfLinearize");
    e.printStackTrace();
}

同样,这将返回一个包含优化内容的文件,可供使用。

最后,最后一个 API 会将任何 PDF 文件转换为 PDF/A,这是一种标准化的 PDF 格式,在跨系统之间具有更高的可用性。这将防止您的文件在计算机之间发送时损坏或丢失任何格式。您还可以选择 PDF/A 文件的一致性级别:“1b”表示 PDF/A-1b,“2b”表示 PDF/A-2b。默认值为 PDF/A-1b。

// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.EditPdfApi;
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");
EditPdfApi apiInstance = new EditPdfApi();
File inputFile = new File("/path/to/inputfile"); // File | Input file to perform the operation on.
String conformanceLevel = "conformanceLevel_example"; // String | Optional: Select the conformance level for PDF/A - specify '1b' for PDF/A-1b or specify '2b' for PDF/A-2b; default is PDF/A-1b
try {
    byte[] result = apiInstance.editPdfConvertToPdfA(inputFile, conformanceLevel);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling EditPdfApi#editPdfConvertToPdfA");
    e.printStackTrace();
}

使用返回的 PDF/A 文件,您不必担心在与其他用户共享时您的文件会以您设计的方式显示。

使用这些功能,您可以根据需要轻松简化和优化 PDF 文档。如果您对使用这些 API 有任何疑问或对其他 API 解决方案有任何疑问,您可以访问 Cloudmersive 网站,我们的团队很乐意为您提供任何帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《大话Java性能优化》是一本关于提升Java应用程序性能的指南。这本书通过深入讲解Java程序的运行原理、关键性能指标和常见性能问题,提供了一系列实用的优化技巧和工具的使用方法,帮助读者更好地理解和应用性能优化的方法和技术。 首先,这本书详细介绍了Java程序的运行原理,包括Java虚拟机(JVM)的内部结构、垃圾回收机制、类加载和字节码执行等关键概念。通过深入了解Java运行机制,读者可以更好地理解性能优化的原理和方法。 其次,书重点讲解了常见的Java性能问题,并提供了对应的解决方案。作者通过实例和案例分析,指导读者如何寻找和修复内存泄漏、线程竞争、不合理的IO操作等常见问题,从而提升程序的性能和稳定性。 除了问题解决方案,这本书还介绍了一些性能优化的基本原则和技巧。例如,作者讲解了如何选择合适的数据结构、如何优化算法、如何合理使用多线程等。这些优化原则和技巧可以帮助读者在开发过程避免常见的性能问题,并提升程序的效率和响应能力。 此外,书还介绍了一些常用的性能优化工具和技术,如性能测试工具、代码分析工具和调优工具等。通过使用这些工具,读者可以对自己的程序进行性能测试和分析,并找出潜在的性能瓶颈。同时,书还介绍了一些常用的性能调优技术,如缓存技术、异步处理和负载均衡等,帮助读者优化自己的开发和运维流程。 总之,《大话Java性能优化》是一本从理论到实践都相当详细和实用的Java性能优化指南。通过学习这本书,读者可以更好地理解和应用Java程序的运行原理和性能优化技巧,提升自己的开发水平和应用程序的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值