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

? ? ? ?在一篇文章里,配有與文本信息相得益彰的圖片,不僅能夠活躍與美化版面,同時也有利于提高文章的可讀性和閱讀效果,從而增強其吸引力。同時,對文檔中已存在圖片的處理也尤為重要。本文將通過使用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);

}

}


圖片刪除效果:


(本文完)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 頁眉和頁腳通常是顯示文檔的附加信息,常用來插入頁碼、時間、日期、個人信息、微標等。特別是其中插入的頁碼,通...
    Tina_Tang閱讀 2,077評論 0 1
  • 兩年大學生活,所做的每件事都無怨無悔, 盡自己的努力,未曾給自己留下半點遺憾。 ----致大學 我懷著一顆憧憬的心...
    一襲青衫伴月明閱讀 245評論 0 2
  • 她叫輕儀,是一個中學的三好學生,清新脫俗,她總是穿著襯衫,披散著頭發(fā),干凈的布鞋,抱著幾本書,邁著輕快的步伐...
    半杯微光閱讀 436評論 1 1
  • 微風細揚,滌蕩心中不滅的光。 群峰險峻,猶如歲月起伏無常。 游樂萬峰,釋放云般書卷壓膛。 預??圃?,必將破兵斬將驚磅。
    菱角翰林閱讀 216評論 0 0
  • 【利用假期整理拖欠出版社已久的書稿《致新教師》,從郵件中翻出2011年我獲評江蘇省教授級中學高級教師后,王晴博士受...
    袁衛(wèi)星閱讀 1,328評論 5 13

友情鏈接更多精彩內(nèi)容