PDF处理控件Aspose.PDF功能演示:使用Java压缩或优化相同质量的PDF文件
不同的组织使用PDF文件进行安全且有组织的信息交换。但是,有时由于嵌入的内容(例如图像,视频,绘图等),PDF文件的大小会变得很大。
在这种情况下,可以轻松优化或压缩此类PDF文件大小,而不会影响质量。让我们探索以下PDF大小压缩和优化方案,您可以将其合并到Java应用程序中:
- 使用Java优化Web的PDF文档
-
使用Java优化或压缩包含图像的PDF的大小
- 使用Java缩小,压缩和调整所有图像的大小
- 删除嵌入式字体,未使用的流并链接重复的流
-
使用Java缩小或压缩PDF文档大小
- 使用Java删除或展平注释以减小大小
- 删除表单字段以使用Java最小化PDF文件大小
- 使用Java将RGB颜色空间转换为灰度以进行PDF压缩和优化
目前,Java版Aspose.PDF升级到v20.9版,优化转换为JPG的时间过长问题,增强PDF到DOCX转换功能,修复PDF到HTML的转换等诸多bug问题,感兴趣的朋友可点击下方按钮下载最新版。
使用Java优化Web的PDF文档
需要在网页中使用PDF文档时,可以对其进行优化。此优化有助于尽快显示PDF文档的彩票走势图。您可以按照以下步骤获得优化的PDF文件:
- 开源PDF文件
- 调用PDF优化的 optimize method
- 保存输出的PDF文件
下面的代码段是如何在Java环境中为Web优化PDF文档的示例:
// Open document Document pdfDocument = new Document("Original.pdf"); // Optimize for web pdfDocument.optimize(); // Save output document pdfDocument.save("Optimized_output.pdf");
使用Java压缩或优化包含图像的PDF的大小
在这里,我们将主要讨论PDF文件包含大量图像因而尺寸巨大的情况。例如,一个PDF文件,其中包含不同型号飞机的图纸以及有关每个零件(次要或主要)的信息,这些信息作为所有组件的图像或图片包含在内。此外,许多专业文档可能包含图像作为文件的主要工件。
在这种情况下,我们可以使用以下方法压缩PDF文件:
①使用Java缩小,压缩和调整所有图像的大小
您可以通过缩小,压缩和调整图像大小来最小化包含许多图像的PDF文件的大小。由于我们现在打算缩小图片中的大多数文件大小,因此文件大小的改进可能会很明显。您需要按照以下步骤来缩小,压缩和调整PDF文件中的图片或图像的大小:
- 加载输入PDF文件
- 初始化OptimizationOptions对象
- 设置图像质量和分辨率
- 调用optimizeResources方法
- 保存输出的PDF文档
下面的代码段显示了如何使用Java缩小或压缩图像以减小和最小化PDF文件大小:
// Load input document Document doc = new Document(dataDir + "Test.pdf"); // Initialize OptimizationOptions object OptimizationOptions opt = new OptimizationOptions(); // Enable image compression // Set the quality and resolution of images in PDF file opt.getImageCompressionOptions().setCompressImages(true); opt.getImageCompressionOptions().setImageQuality(10); opt.getImageCompressionOptions().setMaxResolution(150); opt.getImageCompressionOptions().setResizeImages(true); doc.optimizeResources(opt); // Save the updated file doc.save(dataDir + "compressingPDFWithImages_out.pdf");
②使用Java删除嵌入式字体,未使用的流并链接重复的流
当您需要减小PDF文件大小时,每个字节都很重要。嵌入式字体可以使用不同的方法来帮助减小文件大小。例如,您可以取消嵌入所有字体,也可以仅保留PDF文件中使用的字体字符的子集。这将部分取消嵌入字体,这仍将有助于最大程度地减小文件大小。此外,您可以删除未使用的流或链接重复的流以节省更多空间。这些PDF优化将大大减少文件大小。您需要按照以下步骤优化和减小PDF文件的大小:
- 加载输入的PDF文档
- 初始化OptimizationOptions类对象
- 取消嵌入所有字体或字体的子集
- 链接重复流
- 删除未使用的流
以下代码详细说明了如何压缩PDF文件以优化,减小和最小化PDF文档的大小:
Document doc = new Document(dataDir + "Test.pdf"); OptimizationOptions opt = new OptimizationOptions(); // Either // Unembed all fonts in PDF opt.setUnembedFonts(true); //OR // only keep embedded fonts for used characters opt.setSubsetFonts(true); // link duplicate streams opt.setLinkDuplcateStreams(false); // Remove unused streams opt.setRemoveUnusedStreams(false); // Remove unused objects opt.setRemoveUnusedObjects(false); doc.optimizeResources(opt); // Save the updated file doc.save(dataDir + "compressingPDF.pdf");
使用Java压缩或缩小PDF文档大小
PDF文件通常包含注释,可编辑的表单字段和颜色伪影,这些伪影共同占用空间。让我们探索以下过程来压缩PDF文件大小。
①使用Java删除或展平注释以减小大小
PDF文件可以包含很多注释。例如,水印,注释,形状等。如果不再需要注释,则可以将其删除;如果不需要进一步的更改,则可以对其进行注释。请按照以下步骤删除或展平注释以优化PDF文件大小:
- 开源PDF文档
- 遍历每个页面
- 展平或删除注释
- 保存输出的PDF文档
以下代码段是如何使用Java删除或展平PDF文档中注释的示例:
// Open document Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf"); // Iterate through each page and annotation for (Page page : pdfDocument.getPages()) { for (Annotation annotation : page.getAnnotations()) { // Either flatten the annotation annotation.flatten(); // OR delete the annotation // page.getAnnotations().delete(annotation); } } // Save optimized PDF document pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");
②删除表单字段以使用Java最小化PDF文件大小
需要大量提交数据的可填写PDF表单很常见。提交数据后,可以删除可填写的表单字段,以优化和最小化PDF文件的大小。您需要按照以下步骤删除表单字段:
- 加载输入的PDF文档
- 检查PDF文档中的表单字段
- 遍历每个字段并将其展平
- 保存更新的压缩PDF文件
/ Load source PDF form Document doc = new Document(dataDir + "input.pdf"); // Flatten Form fields if (doc.getForm().getFields().length > 0) { for (Field item : doc.getForm().getFields()) { item.flatten(); } } dataDir = dataDir + "FlattenForms_out.pdf"; // Save the updated document doc.save(dataDir);
③使用Java将RGB颜色空间转换为灰度以进行PDF压缩和优化
大多数PDF文件都包含文本内容,这些文本内容也可以在灰度颜色空间中很好地表示。而且,当目的和优先级是保存每个字节时,甚至图像也可以转换为灰度,这是因为重点在于归档数据。您可以按照以下步骤通过将RGB颜色空间转换为灰度来压缩和优化PDF文件大小:
- 访问源PDF文档
- 初始化RgbToDeviceGrayConversionStrategy实例
- 将每种颜色的色彩空间转换为灰度
- 保存输出优化的PDF文件
以下代码片段显示了如何通过在Java环境中更改颜色空间来压缩和优化PDF大小:
// Load input PDF document Document document = new Document("input.pdf"); // Initialize RgbToDeviceGrayConversionStrategy instance RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy(); for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) { Page page = document.getPages().get_Item(idxPage); // Convert color space of each page to Greyscale strategy.convert(page); } // Save output PDF document document.save("output.pdf");
还想要更多吗?您可以点击阅读【2020 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。