(一)简介

PDF在大多操作平台都能以高质量被使用,非常适合将有用的信息存档和分享。接下来这篇文章将介绍通过Java添加、提取、删除和替换PDF文档中的图片。文章大概结构如下: 添加图片到PDF

提取PDF中图片

替换PDF中图片

删除PDF中图片

工具使用:

Jar包导入:

方式一:从官网获取Free Spire.PDF for Java之后解压,在IDEA或者Eclipse中Shift+Ctrl+Alt+S添加导入Spire.Pdf.jar包到项目中,jar文件可在解压路径下的lib文件夹中获取。

方式二:使用Maven配置导包。可以参考官方帮助文档。

主要使用的源文档截图:

(二)JAVA 代码示例

1. 给PDF添加图片

public static void main(String[] args) { PdfDocument doc = new PdfDocument(); //创建一个空白页 PdfPageBase page = doc.getPages().add(); transformText(page); drawImageMethod(page); //保存PDF文件 doc.saveToFile("output/drawImage.pdf"); doc.close(); } //绘制文本 - 转换 private static void transformText(PdfPageBase page) { PdfGraphicsState state = page.getCanvas().save(); //实例化一个PDFTrueTypeFont对象 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 10), true); PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.blue)); PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(Color.gray)); PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Center); page.getCanvas().translateTransform(page.getCanvas().getClientSize().getWidth()/2, 20); page.getCanvas().drawString("SALES REPORT CHAERT", font, brush1, 0, 0, format); page.getCanvas().scaleTransform(1f, -0.9f); page.getCanvas().drawString("SALES REPORT CHART", font, brush2, 0, -2 * 18 * 1.5f, format); page.getCanvas().restore(state); } //绘制图片 private static void drawImageMethod(PdfPageBase page) { PdfImage image = PdfImage.fromFile("data/SalesChart.jpg"); float width = image.getWidth() * 0.75f; float height = image.getHeight() * 0.75f; double x = (page.getCanvas().getClientSize().getWidth() - width) / 2; page.getCanvas().drawImage(image, (int)x,80, width, height); } View Code

结果:

2. 提取PDF中图片

import com.spire.pdf.*; public class extraction { public static void main(String[] args) throws Exception { PdfDocument doc = new PdfDocument(); doc.loadFromFile("data/ Who_Moved_My_Cheese.pdf.pdf"); //设置index获取文档第一页 int index = 0; for (PdfPageBase page : (Iterable) doc.getPages()) { //使用extractImages方法获取指定页上图片 for (BufferedImage image : page.extractImages()) { //指定输出文件路径及名称 File output = new File("output/" + String.format("Image_%d.png", index++)); //将图片保存为PNG格式文件 ImageIO.write(image, "PNG", output); } } } } View Code

结果:

3. 替换PDF中图片

import com.spire.pdf.*; public class ReplaceImage { public static void main(String[] args) throws IOException { //加载PDF文档 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("data/Who_Moved_My_Cheese.pdf"); //获取第一页 PdfPageBase page = pdf.getPages().get(0); //加载一张图片 PdfImage image = PdfImage.fromFile("data/1.png"); //使用加载的图片替换第一页上的第一张图片 page.replaceImage(0, image); //保存文档 pdf.saveToFile("替换图片.pdf"); } } View Code

结果:

import com.spire.pdf.*; public class deleteImage { public static void main(String[] args) { PdfDocument doc = new PdfDocument(); doc.loadFromFile("data/Who_Moved_My_Cheese.pdf"); //获取文档的第一页 PdfPageBase page = doc.getPages().get(0); //删除第一页的第一张图 page.deleteImage(0); doc.saveToFile("output/删除图片.pdf"); doc.close(); } } View Code

结果:

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

java pdf替换内容_Java添加、提取、替换和删除PDF图片相关推荐

  1. java读取ppt内容_Java添加、读取和删除 PPT 中的备注

    PowerPoint 幻灯片中的备注信息是为使用者提供便利而设置的,该信息只对使用者可见.本文将向大家详细阐述如何通过Spire.Presentation for Java添加.读取和删除 Power ...

  2. java 读取word书签_Java 添加、读取、删除Word书签

    书签,意指一本书的标签,主要用于使读者更快地找到阅读或修改的位置.同理,在Word中编辑或阅读文档时,也可通过使用书签来对某一处或几处进行标记,以便后期能够快速定位到指定文档位置,节约查找时间.本文将 ...

  3. java在字符串前后加引号,Java String字符串内容实现添加双引号

    Java String字符串内容实现添加双引号 作者: 91奔跑的蜗牛 更新时间:2020-09-12 15:45:46 原文链接 右侧开启环境实践本页内容 使用转义符 \ (反斜杠) String ...

  4. PDF文档怎么编辑修改,如何删除PDF空白页面

    随着PDF文件越来越受大家的欢迎,PDF文件的修改编辑是需要用到PDF编辑器的,不知道大家在使用PDF文件的时候,编辑文件之后有没有文件中有页面需要删除的情况,在编辑文件的时候如果遇到文件中有页面需要 ...

  5. java pdf替换内容_java PDF批量替换关键词

    java PDF批量替换关键词 要求:将要替换的字段封装到一个类中,并规定字段名与PDF中关键字的映射. 准备: 关键词信息类-----MatchItem package pdf.replace; i ...

  6. java pdf 图片替换_Java 添加、替换、删除PDF中的图片

    Java 添加.替换.删除PDF中的图片 本文介绍通过java程序向PDF文档添加图片,以及替换和删除PDF中已有的图片. 工具:Free Spire.PDF for Java (免费版) Jar获取 ...

  7. java替换图片中文字_Java 添加、替换、删除Word中的图片

    文档中,可以通过图文混排的方式来增加内容的可读性,相比纯文本文档,在内容展现方式上也更具美观性.在给文档添加图片时,可设置图片的文本环绕方式.旋转角度.图片高度/宽度等:另外,也可对文档中已有的图片实 ...

  8. gradle jar 修改 output 路径_Java 添加、修改、读取PDF书签

    一.序言 在前文中,我曾介绍过如何使用Java程序来添加.读取.删除Word书签.与Word文档一样,PDF文档同样也可进行书签的添加.修改及读取.本文就将通过代码演示来详细讲解其操作方法. 二.环境 ...

  9. java excel 批注_Java 添加、读取和删除 Excel 批注的操作代码

    批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...

最新文章

  1. antd checkbox 默认选中_antd 开发的一些坑(一)
  2. python整数类型的表示字母_Python学习笔记之基本数据类型-Number
  3. Web前端文档阅读笔记-vis.js动态添加节点(vue cli环境)
  4. 使用AIDL实现进程间的通信之复杂类型传递
  5. 【Python制作小游戏】一篇文章带你做出自己的“大鱼吃小鱼”
  6. Gstreamer调试命令(五)
  7. DELPHI 初学.
  8. Android关于Theme和style的总结
  9. java json.stringify_浅谈 JSON.stringify 方法
  10. PS各种实用的辅助工具
  11. 计算机主板外部接口功能,笔记本电脑主板接口功能分享
  12. 买水货必看!你必须知道的10件事情
  13. window.history详细解析
  14. 韦东山第一二期衔接课程内容概要
  15. 【Proteus仿真】51单片机+直流电机PWM调速实验
  16. Cannot execute request on any known server或DiscoveryClient_UNKNOWN/DESKTOP-MQ8D0C9:8761
  17. 使用第三方应用打开pdf文件
  18. 今天,我们从知乎说起。
  19. 癃闭病以及其常见药方
  20. C语言—整除问题、求余、赋值、逻辑运算符易错点

热门文章

  1. Python openjudge 018:大象喝水
  2. 最详细新版网课联盟27刷网课平台源码+安装教程+最新模板+下载地址
  3. 成功鲜有偶然:一览IT名人的教育成长经历
  4. 数据质量监控Griffin——使用
  5. 我开博的这一年!!!
  6. SharePoint服务器端对象模型 之 使用CAML进行数据查询
  7. 远程桌面--外网访问内网多台电脑
  8. 暗黑地牢dlc文件夹或mods文件夹中某个mod在初始界面开新档不显示/不加载的解决办法
  9. MacCms10潜藏后门分析
  10. Android传感器、语音识别、定位系统、Google Map API、快捷方式、widget编程总结及示例...