使用工具:Free Spire.PDF for Java (免费版)
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大神,追到自己的女神,走向人生巅峰
来源:oschina
链接:https://my.oschina.net/u/4415646/blog/4305924