在一篇文章裏,配有與文本信息相得益彰的圖片,不只可以活躍與美化版面,同時也有利於提升文章的可讀性和閱讀效果,從而加強其吸引力。同時,對文檔中已存在圖片的處理也尤其重要。本文將經過使用Java程序來演示如何對PDF文檔中的圖片進行提取、替換和刪除。html
方法1:經過官網下載獲取jar包。解壓後將lib文件夾下的Spire.Pdf.jar文件導入Java程序。(以下圖)java
方法2:經過maven倉庫安裝導入。具體安裝詳解參見此網頁。maven
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); } } } }
圖片提取效果:工具
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
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
(本文完)orm