提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-10-16 09:59:59.420|阅读 457 次
概述:有时需要优化或压缩此类PDF文件大小,而不会影响质量,本文将探索PDF大小压缩和优化方案,您可以将其合并到Java应用程序中。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
不同的组织使用PDF文件进行安全且有组织的信息交换。但是,有时由于嵌入的内容(例如图像,视频,绘图等),PDF文件的大小会变得很大。
在这种情况下,可以轻松优化或压缩此类PDF文件大小,而不会影响质量。让我们探索以下PDF大小压缩和优化方案,您可以将其合并到Java应用程序中:
目前,Java版Aspose.PDF升级到v20.9版,优化转换为JPG的时间过长问题,增强PDF到DOCX转换功能,修复PDF到HTML的转换等诸多bug问题,感兴趣的朋友可点击下方按钮下载最新版。
需要在网页中使用PDF文档时,可以对其进行优化。此优化有助于尽快显示PDF文档的彩票走势图。您可以按照以下步骤获得优化的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");
在这里,我们将主要讨论PDF文件包含大量图像因而尺寸巨大的情况。例如,一个PDF文件,其中包含不同型号飞机的图纸以及有关每个零件(次要或主要)的信息,这些信息作为所有组件的图像或图片包含在内。此外,许多专业文档可能包含图像作为文件的主要工件。
在这种情况下,我们可以使用以下方法压缩PDF文件:
您可以通过缩小,压缩和调整图像大小来最小化包含许多图像的PDF文件的大小。由于我们现在打算缩小图片中的大多数文件大小,因此文件大小的改进可能会很明显。您需要按照以下步骤来缩小,压缩和调整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");
当您需要减小PDF文件大小时,每个字节都很重要。嵌入式字体可以使用不同的方法来帮助减小文件大小。例如,您可以取消嵌入所有字体,也可以仅保留PDF文件中使用的字体字符的子集。这将部分取消嵌入字体,这仍将有助于最大程度地减小文件大小。此外,您可以删除未使用的流或链接重复的流以节省更多空间。这些PDF优化将大大减少文件大小。您需要按照以下步骤优化和减小PDF文件的大小:
以下代码详细说明了如何压缩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");
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");
需要大量提交数据的可填写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);
大多数PDF文件都包含文本内容,这些文本内容也可以在灰度颜色空间中很好地表示。而且,当目的和优先级是保存每个字节时,甚至图像也可以转换为灰度,这是因为重点在于归档数据。您可以按照以下步骤通过将RGB颜色空间转换为灰度来压缩和优化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");
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢