html 提取和替换图片 java document_Java 提取、替换、删除PDF文档中的图片

本文介绍了如何使用Java程序处理PDF文档中的图片,包括从PDF中提取图片、替换现有图片以及删除图片。示例代码分别展示了提取图片并保存到本地,替换指定页面的图片,以及删除PDF中的所有图片。
摘要由CSDN通过智能技术生成

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

Jar文件获取及导入:

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

b7ccb4d65e48

方法2:通过maven仓库安装导入。具体安装详解参见此网页。

【示例1】提取PDF中的图片

importjava.awt.image.BufferedImage;

importjava.io.File;

importjava.io.IOException;

importjavax.imageio.ImageIO;

importcom.spire.pdf.PdfDocument;

importcom.spire.pdf.PdfPageBase;

public classExtractPicture {

public static voidmain(String[] args) throwsIOException {

//创建PdfDocument实例

PdfDocument doc = newPdfDocument();

//加载PDF文件

doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");

intindex = 0;

//遍历PDF文件中的页面

for(PdfPageBase page : (Iterable) doc.getPages()) {

//提取页面中的图片并保存至本地文件夹

for(BufferedImage image : page.extractImages()) {

File output =newFile("C:\\Users\\Test1\\Desktop\\ExtractPicture\\"+ String.format("Image_%d.png", index++));

ImageIO.write(image,"PNG", output);

}

}

}

}

图片提取效果:

b7ccb4d65e48

【示例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");

}

}

图片替换效果:

b7ccb4d65e48

【示例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);

}

}

图片删除效果:

b7ccb4d65e48

(本文完)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值