
正文
Java添加、提取、替换和删除PDF图片
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
(一)简介
这篇文章将介绍在Java中添加、提取、删除和替换PDF文档中的图片。
工具使用:
- Free Spire.PDF for JAVA 2.4.4(免费版)
- Intellij IDEA
Jar包导入:
方式一:首先,从官网获取Free Spire.PDF for Java之后解压,以下是三种在IDEA中快速打开Project Structure界面的方式;如下图:
然后:① 选择“Modules”—“Dependencies”,添加外置jar包;② 进入"Attach File or Directories"界面选择jar文件路径,然后点击“OK”;③ 勾选jar路径选项,点击”OK”/”Apply”;④ 导入完成。如下图:

- 方式二:使用Maven配置导包。可以参考官方帮助文档。
主要参考使用的源文档截图:

(二)JAVA 代码示例
1. 给PDF添加图片
import com.spire.pdf.*;import com.spire.pdf.graphics.*;public class drawImage { public static void main(String[] args) {//创建PDF实例 PdfDocument doc = new PdfDocument();//加载PDF源文件 doc.loadFromFile("data/Sample.pdf"); //获取文档的第一页 PdfPageBase page = doc.getPages().); drawImageMethod(page); //保存PDF文件 doc.saveToFile("output/drawImage.pdf"); doc.close(); } private static void drawImageMethod(PdfPageBase page) { //添加图片 PdfImage image = PdfImage.fromFile("data/1.png"); float width = image.getWidth() * 0.3f; float height = image.getHeight() * 0.3f; //放置图片的绝对位置 page.getCanvas().drawImage(image, ,, width, height); }}
结果:

2. 提取PDF中图片
import com.spire.pdf.*;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;public class extraction { public static void main(String[] args) throws Exception{ //创建PDF实例 PdfDocument pdf = new PdfDocument(); //加载PDF源文件 pdf.loadFromFile("data/Sample.pdf"); ; //遍历PDF每一页 ;i< pdf.getPages().getCount(); i ++){ //获取PDF页面 PdfPageBase page = pdf.getPages().get(i); for (BufferedImage image : page.extractImages()) { File output = new File("output/" + String.format("Image_%d.png", index++)); //将图片保存为PNG格式文件 ImageIO.write(image, "PNG", output); } } }}
结果:


3. 替换PDF中图片
import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.graphics.PdfImage;import java.io.IOException;public class ReplaceImage { public static void main(String[] args) throws IOException { //创建一个PDF实例 PdfDocument pdf = new PdfDocument(); //加载PDF文档 pdf.loadFromFile("data/Sample.pdf"); //获取第一页 PdfPageBase page = pdf.getPages().); //加载一张图片 PdfImage image = PdfImage.fromFile("data/1.png"); //使用加载的图片替换第一页上的第一张图片 page.replaceImage(, image); //保存文档 pdf.saveToFile("替换图片.pdf"); }}
结果:

4. 删除PDF中图片
import com.spire.pdf.*;public class deleteImage { public static void main(String[] args) { //创建PDF实例 PdfDocument doc = new PdfDocument(); //加载PDF源文档 doc.loadFromFile("data/Sample.pdf"); //获取文档的第一页 PdfPageBase page = doc.getPages().); //删除第一页的第一张图 page.deleteImage(); //保存文档 doc.saveToFile("output/deleteImage.pdf"); doc.close(); }}
结果:

P.S. 另外关于PDF中图片的操作还有:为PDF添加图片水印。
(本文完)






