java imageio删除图片_Java 提取、替换、删除PDF文档中的图片
在一篇文章里,配有與文本信息相得益彰的圖片,不僅能夠活躍與美化版面,同時也有利于提高文章的可讀性和閱讀效果,從而增強(qiáng)其吸引力。同時,對文檔中已存在圖片的處理也尤為重要。本文將通過使用Java程序來演示如何對PDF文檔中的圖片進(jìn)行提取、替換和刪除。
Jar文件獲取及導(dǎo)入:
方法1:通過官網(wǎng)下載獲取jar包。解壓后將lib文件夾下的Spire.Pdf.jar文件導(dǎo)入Java程序。(如下圖)
方法2:通過maven倉庫安裝導(dǎo)入。具體安裝詳解參見此網(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);
}
}
圖片刪除效果:
(本文完)
總結(jié)
以上是生活随笔為你收集整理的java imageio删除图片_Java 提取、替换、删除PDF文档中的图片的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis java驱动_Redis学习
- 下一篇: java 8 永久代_Java8内存结构