java imageio删除图片_Java 提取、替换、删除PDF文档中的图片

在一篇文章里,配有与文本信息相得益彰的图片,不仅能够活跃与美化版面,同时也有利于提高文章的可读性和阅读效果,从而增强其吸引力。同时,对文档中已存在图片的处理也尤为重要。本文将通过使用Java程序来演示如何对PDF文档中的图片进行提取、替换和删除。

Jar文件获取及导入:

方法1:通过官网下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)

e83134d2298a0d5d2c304b98a1e51553.png

方法2:通过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) 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);

}

}

}

}

图片提取效果:

8d36511eb8fa6284505441b49186f11d.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");

}

}

图片替换效果:

a870621641d775145e7638dd310db856.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);

}

}

图片删除效果:

a3fbfbe3d376d6e7ee2e11868a627b0e.png

(本文完)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值