Java添加、提取、替换和删除PDF图片
2019-05-22 11:57
309 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_38011298/article/details/90441299
(一)简介
这篇文章将介绍在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) { PdfDocument doc = new PdfDocument(); doc.loadFromFile("data/Sample.pdf"); //获取文档的第一页 PdfPageBase page = doc.getPages().get(0); 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, 420,100, width, height); } }
结果:
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{ //加载测试文档 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("data/Sample.pdf"); int index = 0; //遍历PDF每一页 for (int i= 0;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); } } } }
结果:
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().get(0); //加载一张图片 PdfImage image = PdfImage.fromFile("data/1.png"); //使用加载的图片替换第一页上的第一张图片 page.replaceImage(0, image); //保存文档 pdf.saveToFile("替换图片.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().get(0); //删除第一页的第一张图 page.deleteImage(0); doc.saveToFile("output/删除图片.pdf"); doc.close(); } }
结果:
P.S. 另外关于PDF中图片的操作还有为PDF添加图片水印
(本文完)
相关文章推荐
- java 为pdf添加水印图片
- php正则给图片提取/替换/添加alt标签的正则代码
- java 生成pdf文件,添加图片
- java 为pdf添加水印图片
- JAVA 添加、修改和删除PDF书签
- java字符串截取、替换、删除、添加、查询等常用方法
- Java 给已有PDF添加图片
- java 为pdf添加水印图片
- java 为pdf添加水印图片
- Java 在PDF中添加水印——文本/图片水印
- Java 实现 pdf文件添加 图片水印 itextpdf 5.5.2
- java 通过 itext生成pdf添加,插入文字,图片
- 一个iOS图片选择器的DEMO(实现图片添加,宫格排列,图片长按删除,以及图片替换等功能)
- java 生成pdf文件,添加图片
- java 操作pdf模板(向指定域添加文本内容和图片)
- java -- 将PDF文件的首页提取为图片
- 一个iOS图片选择器的DEMO(实现图片添加,宫格排列,图片长按删除,以及图片替换等功能)
- java 为pdf添加水印图片
- java 生成pdf文件,添加图片
- itext7 java转pdf添加图片