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问题,感兴趣的朋友可点击下方按钮下载最新版。

软件国产化服务季来啦!整合所有格式的Aspose.Total永久授权正在火热促销中,乐享85折起!联系客服立马1分钟了解全部咨询!

使用Java优化Web的PDF文档

需要在 页中使用PDF文档时,可以对其进行优化。此优化有助于尽快显示PDF文档的首页。您可以按照以下步骤获得优化的PDF文件:

  • 开源PDF文件
  • 调用PDF优化的 optimize method
  • 保存输出的PDF文件

下面的代码段是如何在Java环境中为Web优化PDF文档的示例:

// Open documentDocument pdfDocument = new Document("Original.pdf");// Optimize for webpdfDocument.optimize();// Save output documentpdfDocument.save("Optimized_output.pdf");

使用Java压缩或优化包含图像的PDF的大小

在这里,我们将主要讨论PDF文件包含大量图像因而尺寸巨大的情况。例如,一个PDF文件,其中包含不同型 飞机的图纸以及有关每个零件(次要或主要)的信息,这些信息作为所有组件的图像或图片包含在内。此外,许多专业文档可能包含图像作为文件的主要工件。

在这种情况下,我们可以使用以下方法压缩PDF文件:

①使用Java缩小,压缩和调整所有图像的大小

您可以通过缩小,压缩和调整图像大小来最小化包含许多图像的PDF文件的大小。由于我们现在打算缩小图片中的大多数文件大小,因此文件大小的改进可能会很明显。您需要按照以下步骤来缩小,压缩和调整PDF文件中的图片或图像的大小:

  • 加载输入PDF文件
  • 初始化OptimizationOptions对象
  • 设置图像质量和分辨率
  • 调用optimizeResources方法
  • 保存输出的PDF文档

下面的代码段显示了如何使用Java缩小或压缩图像以减小和最小化PDF文件大小:

// Load input documentDocument doc = new Document(dataDir + "Test.pdf");// Initialize OptimizationOptions objectOptimizationOptions opt = new OptimizationOptions();// Enable image compression// Set the quality and resolution of images in PDF fileopt.getImageCompressionOptions().setCompressImages(true);opt.getImageCompressionOptions().setImageQuality(10);opt.getImageCompressionOptions().setMaxResolution(150);opt.getImageCompressionOptions().setResizeImages(true);doc.optimizeResources(opt);// Save the updated filedoc.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 PDFopt.setUnembedFonts(true);//OR// only keep embedded fonts for used charactersopt.setSubsetFonts(true);// link duplicate streamsopt.setLinkDuplcateStreams(false);// Remove unused streamsopt.setRemoveUnusedStreams(false);// Remove unused objectsopt.setRemoveUnusedObjects(false);doc.optimizeResources(opt);// Save the updated filedoc.save(dataDir + "compressingPDF.pdf");

使用Java压缩或缩小PDF文档大小

①使用Java删除或展平注释以减小大小

PDF文件可以包含很多注释。例如,水印,注释,形状等。如果不再需要注释,则可以将其删除;如果不需要进一步的更改,则可以对其进行注释。请按照以下步骤删除或展平注释以优化PDF文件大小:

  • 开源PDF文档
  • 遍历每个页面
  • 展平或删除注释
  • 保存输出的PDF文档

以下代码段是如何使用Java删除或展平PDF文档中注释的示例:

// Open documentDocument pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");// Iterate through each page and annotationfor (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 documentpdfDocument.save(dataDir + "OptimizeDocument_out.pdf");
②删除表单字段以使用Java最小化PDF文件大小

需要大量提交数据的可填写PDF表单很常见。提交数据后,可以删除可填写的表单字段,以优化和最小化PDF文件的大小。您需要按照以下步骤删除表单字段:

  • 加载输入的PDF文档
  • 检查PDF文档中的表单字段
  • 遍历每个字段并将其展平
  • 保存更新的压缩PDF文件
/ Load source PDF formDocument doc = new Document(dataDir + "input.pdf");// Flatten Form fieldsif (doc.getForm().getFields().length > 0){    for (Field item : doc.getForm().getFields())    {        item.flatten();    }}dataDir = dataDir + "FlattenForms_out.pdf";// Save the updated documentdoc.save(dataDir);
③使用Java将RGB颜色空间转换为灰度以进行PDF压缩和优化

大多数PDF文件都包含文本内容,这些文本内容也可以在灰度颜色空间中很好地表示。而且,当目的和优先级是保存每个字节时,甚至图像也可以转换为灰度,这是因为重点在于归档数据。您可以按照以下步骤通过将RGB颜色空间转换为灰度来压缩和优化PDF文件大小:

  • 访问源PDF文档
  • 初始化RgbToDeviceGrayConversionStrategy实例
  • 将每种颜色的色彩空间转换为灰度
  • 保存输出优化的PDF文件

以下代码片段显示了如何通过在Java环境中更改颜色空间来压缩和优化PDF大小:

// Load input PDF documentDocument document = new Document("input.pdf");// Initialize RgbToDeviceGrayConversionStrategy instanceRgbToDeviceGrayConversionStrategy 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技术交流群(),我们很高兴为您提供查询和咨询
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月12日
下一篇 2020年9月12日

相关推荐

发表回复

登录后才能评论