在一篇文章里,配有与文本信息相得益彰的图片,不仅能够活跃与美化版面,同时也有利于提高文章的可读性和阅读效果,从而增强其吸引力。同时,对文档中已存在图片的处理也尤为重要。本文将通过使用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 imageio删除图片_Java 提取、替换、删除PDF文档中的图片相关推荐

  1. 快速无损原样提取PDF文档中的图片

    网上已经有很多提取PDF文档图片的工具了,但是这些工具要么就是非常庞大,要么就是速度很慢,要么就是导出的图片失真,我对这些工具均不满意,因此为PDF补丁丁开发了快速.无损地提取PDF文档图片的功能. ...

  2. 怎么批量提取多个 Excel 文档中的图片

    概要:批量提取 Excel 文档图片.批量提取 xlsx 文档图片.无损提取 Excel 图片.Excel 图片导出.批量提取图片.文档图片提取.批量导出文档图片 Excel 文档中可以插入文本.图片 ...

  3. 如何将PDF文档中的图片提取出来?

    如何将PDF文档中的图片提取出来? PDF是我们经常接触的一种文档,但对于它的一些编辑操作却并不熟悉,比如有时需要将文档中的图片提取出来,应该如何处理呢? 一.普通文档 常见的PDF文档一般由Word ...

  4. 使用Python批量提取并保存docx文档中的图片

    问题描述: 提取docx文档中的所有图片,保存为独立的图片文件. 技术要点: 需要安装扩展库python-docx 示例文件: 参考代码: 码运行结果: 神操作: 如果实在看不懂上面的代码,但是又有同 ...

  5. word保存为html不压缩图片大小,如何一键保存word文档中的图片?只需把.docx后缀改成压缩格式.zip即可 ......

    有时候我们在网上下载一篇Word文档,里面有很多张图片,我们想要将这些图片保存下来.如果是单张图片保存,我们可以选中图片,然后点击鼠标右键,选择[另存为图片]即可,如下图所示. 但如果是需要将所有图片 ...

  6. [PDF文件怎么编辑]如何在PDF文档中插入图片

    收到一份PDF格式文档需要进行编辑,文件中只有文本内容,需要在页面中为对应的配图,也就是在PDF中添加图片,作为一个只懂得用阅读器来查看文档人来说,编辑PDF文件可谓是一件难事,这种格式的文件是如何编 ...

  7. java加密文件夹_Java加密、解密PDF文档

    import java.util.EnumSet; import com.spire.pdf.PdfDocument; import com.spire.pdf.security.PdfEncrypt ...

  8. python pdf 图片_第一节:python提取PDF文档中的图片

    1.安装第三方类库pymupdf:pip install pymupdf 2.安装完成后直接上代码,代码如下: import fitz import time import re import os ...

  9. 【教程】Spire.PDF教程:C# 如何提取 PDF 文档中的文本和图片

    Spire.PDF是一个专业的PDF组件,能够独立地创建.编写.编辑.操作和阅读PDF文件,支持 .NET.Java.WPF和Silverlight. [下载Spire.PDF最新试用版] 文本和图片 ...

最新文章

  1. mysql dba系统学习(19)配置mysql+lvs+keeplived实现Mysql读操作的负载均衡
  2. 为开发可穿戴设备 索尼收购了以色列芯片制造商
  3. Sth about Haml
  4. hdu3074 线段树求区间乘积(单点更新)
  5. 刷算法题总结的一些结论公式
  6. vc 代码检查工具_C++网络安全入侵检测技术模块及源程序代码
  7. 【解决问题】useBean类属性[com.cheng.pojo.People]的值无效导致HTTP500问题
  8. 基于Session的认证方式_创建工程_准备一个springmvc的工程_Spring Security OAuth2.0认证授权---springcloud工作笔记115
  9. RGB数据保存为BMP图片
  10. 67. magento timezone
  11. 解决在TP5中无法使用快递鸟的即时查询API
  12. 【精品分享】OpenStack Cinder mutliattach技术探秘
  13. win7蓝屏0x0000003b解决教程
  14. 皮肤黄吃什么可以变白?店湾妹来教你几招!
  15. POJ1417 True Liars —— 并查集 + DP
  16. 百度AI文字识别需要注意的点
  17. 《程序员修炼之道》读书笔记
  18. Firefox input 光标丢失
  19. SINUMERIK西门子808D 828D数控机床实操视频教程
  20. python英文文本清理删除一段话_如何使用NLTK删除所有非英语字符和单词

热门文章

  1. mysql排序空放后面_python对mysql数据库的增删改查
  2. whiel oracle,Oracle中的for和while循环
  3. 类方法classmethod 绑定方法
  4. 你对一个程序员有多尊重
  5. 操作系统概念学习笔记 15 内存管理(一)
  6. android studio连接真机问题
  7. Qt实现基本QMainWindow主窗口程序
  8. 解决.gitgnore加入.idea无效问题
  9. 修改web.config
  10. 软件测试作业1:正确理解原型方法对软件生命周期不同阶段的支持