在一篇文章里,配有与文本信息相得益彰的图片,不只可以活跃与美化版面,同时也有利于提升文章的可读性和阅读效果,从而加强其吸引力。同时,对文档中已存在图片的处理也尤其重要。本文将经过使用Java程序来演示如何对PDF文档中的图片进行提取、替换和删除。html
方法1:经过官网下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(以下图)java
方法2:经过maven仓库安装导入。具体安装详解参见此网页。maven
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<PdfPageBase>) 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); } } } }
图片提取效果:工具
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"); } }
图片替换效果:spa
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); } }
图片删除效果:code
(本文完)orm