怎么用Java 高效提取、替换、删除PDF文档中的图…
2020-06-09 16:07:58来源:博客园 阅读 ()
怎么用Java 高效提取、替换、删除PDF文档中的图片
Jar**文件获取及导入:
方法1:通过官网下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)
方法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); } } } }
图片提取效果:
【示例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) {
创建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);
}
}
图片删除效果:
“大清亡于闭关锁国,学习技术需要交流和资料”。 在这里我给大家准备了很多的学习资料免费获取,包括但不限于java进阶学习资料、技术干货、大厂面试题系列、技术动向、职业生涯等一切有关程序员的分享.
java进阶方法笔记,学习资料,面试题,电子书籍免费领取,让你成为java大神,追到自己的女神,走向人生巅峰
原文链接:https://www.cnblogs.com/coderjava/p/13080799.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash