? ? ? ?在一篇文章里埋市,配有與文本信息相得益彰的圖片,不僅能夠活躍與美化版面命贴,同時也有利于提高文章的可讀性和閱讀效果道宅,從而增強其吸引力。同時胸蛛,對文檔中已存在圖片的處理也尤為重要污茵。本文將通過使用Java程序來演示如何對PDF文檔中的圖片進行提取、替換和刪除葬项。
使用工具:Free Spire.PDF for Java (免費版)
Jar文件獲取及導入:
方法1:通過官網(wǎng)下載獲取jar包泞当。解壓后將lib文件夾下的Spire.Pdf.jar文件導入Java程序。(如下圖)
方法2:通過maven倉庫安裝導入民珍。具體安裝詳解參見此網(wǎng)頁襟士。
【示例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 {
//創(chuàng)建PdfDocument實例
PdfDocument doc = new PdfDocument();
//加載PDF文件
doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
int index = 0;
//遍歷PDF文件中的頁面
for (PdfPageBase page : (Iterable) 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);
??????????? }
??????? }
??? }
}
圖片提取效果:
【示例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");
}
}
圖片替換效果:
【示例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) {
//創(chuàng)建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);
}
}
圖片刪除效果:
(本文完)