Java 提取、替換、刪除PDF文檔中的圖片

在一篇文章裏,配有與文本信息相得益彰的圖片,不只可以活躍與美化版面,同時也有利於提升文章的可讀性和閱讀效果,從而加強其吸引力。同時,對文檔中已存在圖片的處理也尤其重要。本文將經過使用Java程序來演示如何對PDF文檔中的圖片進行提取、替換和刪除。html

使用工具:Free Spire.PDF for Java (免費版)

Jar文件獲取及導入:

方法1:經過官網下載獲取jar包。解壓後將lib文件夾下的Spire.Pdf.jar文件導入Java程序。(以下圖)
安裝示圖.pngjava

方法2:經過maven倉庫安裝導入。具體安裝詳解參見此網頁maven

【示例1】提取PDF中的圖片

import java.awt.image.BufferedImage;  
import java.io.File;  
import java.io.IOException;  
import javax.imageio.ImageIO;  
import com.spire.pdf.PdfDocument;  
import com.spire.pdf.PdfPageBase;  
  
public class ExtractPicture {  
    public static void main(String[] args) throws IOException {  
//建立PdfDocument實例  
PdfDocument doc = new PdfDocument();  
//加載PDF文件  
doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");  
int index = 0;  
//遍歷PDF文件中的頁面  
for (PdfPageBase page : (Iterable<PdfPageBase>) doc.getPages()) {  
//提取頁面中的圖片並保存至本地文件夾  
for (BufferedImage image : page.extractImages()) {  
File output = new File("C:\\Users\\Test1\\Desktop\\ExtractPicture\\" + String.format("Image_%d.png", index++));  
ImageIO.write(image, "PNG", output);  
            }  
        }  
    }  
}

圖片提取效果:工具

效果1.png

【示例2】替換PDF中的圖片

import com.spire.pdf.PdfDocument;  
import com.spire.pdf.PdfPageBase;  
import com.spire.pdf.graphics.PdfImage;  
  
public class ReplaceImage {  
public static void main(String[] args) {  
//加載PDF文檔  
PdfDocument pdf = new PdfDocument();  pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");  
//獲取第一頁  
PdfPageBase page = pdf.getPages().get(0);  
//加載一張圖片  
PdfImage image = PdfImage.fromFile("C:\\Users\\Test1\\Desktop\\Image.png");  
//使用加載的圖片替換第一頁上的第一張圖片  
page.replaceImage(0, image);  
//保存文檔  
pdf.saveToFile("output/ReplaceImage.pdf");  
    }  
}

圖片替換效果:spa

效果2.png

【示例3】刪除PDF中的圖片

import com.spire.pdf.FileFormat;  
import com.spire.pdf.PdfDocument;  
import com.spire.pdf.PdfPageBase;  
import com.spire.pdf.exporting.PdfImageInfo;  
  
public class DeleteImage {  
public static void main(String[] args) {  
//建立PdfDocument對象  
PdfDocument doc = new PdfDocument();  
//加載PDF文檔  
doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");  
//遍歷文檔每一頁  
for (int i = 0; i < doc.getPages().getCount(); i++) {  
//獲取特定頁  
PdfPageBase page = doc.getPages().get(i);  
//獲取頁面上的圖片信息  
PdfImageInfo[] imageInfo = page.getImagesInfo(); 
//遍歷每個圖片  
for (int j = imageInfo.length; j > 0; j--) {  
//經過圖片的索引刪除圖片  
page.deleteImage(j - 1);  
            }  
        }  
//保存文檔  
doc.saveToFile("output/DeleteImages.pdf", FileFormat.PDF);  
    }  
}

圖片刪除效果:code

效果3.png

(本文完)orm

相關文章
相關標籤/搜索