• <menu id="w2i4a"></menu>
  • logo Aspose.PDF使用教程

    文檔首頁(yè)>>Aspose.PDF使用教程>>PDF處理控件Aspose.PDF功能演示:使用Java壓縮或優(yōu)化相同質(zhì)量的PDF文件

    PDF處理控件Aspose.PDF功能演示:使用Java壓縮或優(yōu)化相同質(zhì)量的PDF文件


    不同的組織使用PDF文件進(jìn)行安全且有組織的信息交換。但是,有時(shí)由于嵌入的內(nèi)容(例如圖像,視頻,繪圖等),PDF文件的大小會(huì)變得很大。

    在這種情況下,可以輕松優(yōu)化或壓縮此類PDF文件大小,而不會(huì)影響質(zhì)量。讓我們探索以下PDF大小壓縮和優(yōu)化方案,您可以將其合并到Java應(yīng)用程序中:

    • 使用Java優(yōu)化Web的PDF文檔
    • 使用Java優(yōu)化或壓縮包含圖像的PDF的大小
      • 使用Java縮小,壓縮和調(diào)整所有圖像的大小
      • 刪除嵌入式字體,未使用的流并鏈接重復(fù)的流
    • 使用Java縮小或壓縮PDF文檔大小
      • 使用Java刪除或展平注釋以減小大小
      • 刪除表單字段以使用Java最小化PDF文件大小
      • 使用Java將RGB顏色空間轉(zhuǎn)換為灰度以進(jìn)行PDF壓縮和優(yōu)化

    目前,Java版Aspose.PDF升級(jí)到v20.9版,優(yōu)化轉(zhuǎn)換為JPG的時(shí)間過(guò)長(zhǎng)問(wèn)題,增強(qiáng)PDF到DOCX轉(zhuǎn)換功能,修復(fù)PDF到HTML的轉(zhuǎn)換等諸多bug問(wèn)題,感興趣的朋友可點(diǎn)擊下方按鈕下載最新版。

    點(diǎn)擊下載最新版Aspose.PDF for Java

    軟件國(guó)產(chǎn)化服務(wù)季來(lái)啦!整合所有格式的Aspose.Total永久授權(quán)正在火熱促銷中,樂(lè)享85折起!聯(lián)系慧都客服立馬1分鐘了解全部咨詢!

    使用Java優(yōu)化Web的PDF文檔

    需要在網(wǎng)頁(yè)中使用PDF文檔時(shí),可以對(duì)其進(jìn)行優(yōu)化。此優(yōu)化有助于盡快顯示PDF文檔的首頁(yè)。您可以按照以下步驟獲得優(yōu)化的PDF文件:

    • 開(kāi)源PDF文件
    • 調(diào)用PDF優(yōu)化的 optimize method
    • 保存輸出的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");

    使用Java壓縮或優(yōu)化包含圖像的PDF的大小

    在這里,我們將主要討論P(yáng)DF文件包含大量圖像因而尺寸巨大的情況。例如,一個(gè)PDF文件,其中包含不同型號(hào)飛機(jī)的圖紙以及有關(guān)每個(gè)零件(次要或主要)的信息,這些信息作為所有組件的圖像或圖片包含在內(nèi)。此外,許多專業(yè)文檔可能包含圖像作為文件的主要工件。

    在這種情況下,我們可以使用以下方法壓縮PDF文件:

    ①使用Java縮小,壓縮和調(diào)整所有圖像的大小

    您可以通過(guò)縮小,壓縮和調(diào)整圖像大小來(lái)最小化包含許多圖像的PDF文件的大小。由于我們現(xiàn)在打算縮小圖片中的大多數(shù)文件大小,因此文件大小的改進(jìn)可能會(huì)很明顯。您需要按照以下步驟來(lái)縮小,壓縮和調(diào)整PDF文件中的圖片或圖像的大?。?/span>

    • 加載輸入PDF文件
    • 初始化OptimizationOptions對(duì)象
    • 設(shè)置圖像質(zhì)量和分辨率
    • 調(diào)用optimizeResources方法
    • 保存輸出的PDF文檔

    下面的代碼段顯示了如何使用Java縮小或壓縮圖像以減小和最小化PDF文件大?。?/span>

    // 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刪除嵌入式字體,未使用的流并鏈接重復(fù)的流

    當(dāng)您需要減小PDF文件大小時(shí),每個(gè)字節(jié)都很重要。嵌入式字體可以使用不同的方法來(lái)幫助減小文件大小。例如,您可以取消嵌入所有字體,也可以僅保留PDF文件中使用的字體字符的子集。這將部分取消嵌入字體,這仍將有助于最大程度地減小文件大小。此外,您可以刪除未使用的流或鏈接重復(fù)的流以節(jié)省更多空間。這些PDF優(yōu)化將大大減少文件大小。您需要按照以下步驟優(yōu)化和減小PDF文件的大?。?/span>

    • 加載輸入的PDF文檔
    • 初始化OptimizationOptions類對(duì)象
    • 取消嵌入所有字體或字體的子集
    • 鏈接重復(fù)流
    • 刪除未使用的流

    以下代碼詳細(xì)說(shuō)明了如何壓縮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");

    使用Java壓縮或縮小PDF文檔大小

    PDF文件通常包含注釋,可編輯的表單字段和顏色偽影,這些偽影共同占用空間。讓我們探索以下過(guò)程來(lái)壓縮PDF文件大小。

    ①使用Java刪除或展平注釋以減小大小

    PDF文件可以包含很多注釋。例如,水印,注釋,形狀等。如果不再需要注釋,則可以將其刪除;如果不需要進(jìn)一步的更改,則可以對(duì)其進(jìn)行注釋。請(qǐng)按照以下步驟刪除或展平注釋以優(yōu)化PDF文件大?。?/span>

    • 開(kāi)源PDF文檔
    • 遍歷每個(gè)頁(yè)面
    • 展平或刪除注釋
    • 保存輸出的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文件大小

    需要大量提交數(shù)據(jù)的可填寫PDF表單很常見(jiàn)。提交數(shù)據(jù)后,可以刪除可填寫的表單字段,以優(yōu)化和最小化PDF文件的大小。您需要按照以下步驟刪除表單字段:

    • 加載輸入的PDF文檔
    • 檢查PDF文檔中的表單字段
    • 遍歷每個(gè)字段并將其展平
    • 保存更新的壓縮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顏色空間轉(zhuǎn)換為灰度以進(jìn)行PDF壓縮和優(yōu)化

    大多數(shù)PDF文件都包含文本內(nèi)容,這些文本內(nèi)容也可以在灰度顏色空間中很好地表示。而且,當(dāng)目的和優(yōu)先級(jí)是保存每個(gè)字節(jié)時(shí),甚至圖像也可以轉(zhuǎn)換為灰度,這是因?yàn)橹攸c(diǎn)在于歸檔數(shù)據(jù)。您可以按照以下步驟通過(guò)將RGB顏色空間轉(zhuǎn)換為灰度來(lái)壓縮和優(yōu)化PDF文件大小:

    • 訪問(wèn)源PDF文檔
    • 初始化RgbToDeviceGrayConversionStrategy實(shí)例
    • 將每種顏色的色彩空間轉(zhuǎn)換為灰度
    • 保存輸出優(yōu)化的PDF文件

    以下代碼片段顯示了如何通過(guò)在Java環(huán)境中更改顏色空間來(lái)壓縮和優(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");

    還想要更多嗎?您可以點(diǎn)擊閱讀【2020 · Aspose最新資源整合】查找需要的教程資源。如果您有任何疑問(wèn)或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();