翻譯|使用教程|編輯:李顯亮|2020-10-16 09:59:59.420|閱讀 540 次
概述:有時需要優(yōu)化或壓縮此類PDF文件大小,而不會影響質(zhì)量,本文將探索PDF大小壓縮和優(yōu)化方案,您可以將其合并到Java應(yīng)用程序中。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
不同的組織使用PDF文件進行安全且有組織的信息交換。但是,有時由于嵌入的內(nèi)容(例如圖像,視頻,繪圖等),PDF文件的大小會變得很大。
在這種情況下,可以輕松優(yōu)化或壓縮此類PDF文件大小,而不會影響質(zhì)量。讓我們探索以下PDF大小壓縮和優(yōu)化方案,您可以將其合并到Java應(yīng)用程序中:
目前,Java版Aspose.PDF升級到v20.9版,優(yōu)化轉(zhuǎn)換為JPG的時間過長問題,增強PDF到DOCX轉(zhuǎn)換功能,修復PDF到HTML的轉(zhuǎn)換等諸多bug問題,感興趣的朋友可點擊下方按鈕下載最新版。
需要在網(wǎng)頁中使用PDF文檔時,可以對其進行優(yōu)化。此優(yōu)化有助于盡快顯示PDF文檔的金喜正規(guī)買球。您可以按照以下步驟獲得優(yōu)化的PDF文件:
下面的代碼段是如何在Java環(huán)境中為Web優(yōu)化PDF文檔的示例:
// Open document Document pdfDocument = new Document("Original.pdf"); // Optimize for web pdfDocument.optimize(); // Save output document pdfDocument.save("Optimized_output.pdf");
在這里,我們將主要討論PDF文件包含大量圖像因而尺寸巨大的情況。例如,一個PDF文件,其中包含不同型號飛機的圖紙以及有關(guān)每個零件(次要或主要)的信息,這些信息作為所有組件的圖像或圖片包含在內(nèi)。此外,許多專業(yè)文檔可能包含圖像作為文件的主要工件。
在這種情況下,我們可以使用以下方法壓縮PDF文件:
您可以通過縮小,壓縮和調(diào)整圖像大小來最小化包含許多圖像的PDF文件的大小。由于我們現(xiàn)在打算縮小圖片中的大多數(shù)文件大小,因此文件大小的改進可能會很明顯。您需要按照以下步驟來縮小,壓縮和調(diào)整PDF文件中的圖片或圖像的大?。?/span>
下面的代碼段顯示了如何使用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文件大小時,每個字節(jié)都很重要。嵌入式字體可以使用不同的方法來幫助減小文件大小。例如,您可以取消嵌入所有字體,也可以僅保留PDF文件中使用的字體字符的子集。這將部分取消嵌入字體,這仍將有助于最大程度地減小文件大小。此外,您可以刪除未使用的流或鏈接重復的流以節(jié)省更多空間。這些PDF優(yōu)化將大大減少文件大小。您需要按照以下步驟優(yōu)化和減小PDF文件的大小:
以下代碼詳細說明了如何壓縮PDF文件以優(yōu)化,減小和最小化PDF文檔的大?。?/span>
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文件可以包含很多注釋。例如,水印,注釋,形狀等。如果不再需要注釋,則可以將其刪除;如果不需要進一步的更改,則可以對其進行注釋。請按照以下步驟刪除或展平注釋以優(yōu)化PDF文件大?。?/span>
以下代碼段是如何使用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");
需要大量提交數(shù)據(jù)的可填寫PDF表單很常見。提交數(shù)據(jù)后,可以刪除可填寫的表單字段,以優(yōu)化和最小化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);
大多數(shù)PDF文件都包含文本內(nèi)容,這些文本內(nèi)容也可以在灰度顏色空間中很好地表示。而且,當目的和優(yōu)先級是保存每個字節(jié)時,甚至圖像也可以轉(zhuǎn)換為灰度,這是因為重點在于歸檔數(shù)據(jù)。您可以按照以下步驟通過將RGB顏色空間轉(zhuǎn)換為灰度來壓縮和優(yōu)化PDF文件大小:
以下代碼片段顯示了如何通過在Java環(huán)境中更改顏色空間來壓縮和優(yōu)化PDF大?。?/span>
// 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");
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn