本文概述
- 加载现有的PDF文档
- 实例化PDFRender类
- 渲染图像
- 将图像写入文件
- 关闭文件
【PDFBox提取图像】请按照以下步骤从现有的PDF文档中提取图像-
加载现有的PDF文档 我们可以使用static load()方法加载现有的PDF文档。此方法接受文件对象作为参数。我们也可以使用PDFBox的类名PDDocument调用它。
File file = new File("Path of Document");
PDDocument doc = PDDocument.load(file);
实例化PDFRender类 PDFRenderer类将PDF文档呈现到AWT BufferedImage中。此类的实例需要一个文档对象作为其参数。可以在以下代码中显示。
PDFRenderer renderer = new PDFRenderer(doc);
渲染图像 Renderer类的renderImage()方法可用于渲染特定页面中的图像。此方法需要传递页面的索引, 在该索引中我们将呈现图像。
BufferedImage image = renderer.renderImage(Page Index);
将图像写入文件 我们可以使用write()方法将渲染的图像写入文件。在此方法中, 我们需要传递三个参数-
- 渲染的图像对象。
- 表示图像类型的字符串(jpg或png)。
- 我们需要将提取的图像保存到的文件对象。
ImageIO.write(image, "JPEG", new File("Path of Image"));
关闭文件 完成任务后, 我们需要使用close()方法关闭PDDocument类对象。
doc.close();
例-
这是一个PDF文档, 我们将使用Java程序的PDFBox库将其页面提取为图像。
文章图片
Java程序
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
public class ExtractImage { public static void main(String[] args)throws IOException {//Loading an existing document File file = new File("/eclipse-workspace/blank.pdf");
PDDocument doc = PDDocument.load(file);
//Instantiating the PDFRenderer classPDFRenderer renderer = new PDFRenderer(doc);
//Rendering an image from the PDF documentBufferedImage image = renderer.renderImage(2);
//Writing the image to a fileImageIO.write(image, "JPEG", new File("/eclipse-workspace/my_image.jpeg"));
System.out.println("Image created successfully.");
//Closing the document doc.close();
}}
输出
成功执行后, 上面的程序显示以下输出。
文章图片
现在进行验证, 如下图所示打开图像-
文章图片
推荐阅读
- PDFBox提取电话号码
- 技术编辑教您win7放大镜技巧怎样打开
- 本文详细说明win7电脑字体怎样改
- 笔者教你压缩软件怎样给文件夹加密
- 详细教您win7如何整理磁盘碎片
- 本文详细说明电脑右下角老跳出广告怎样办
- 本文教您怎样校准电脑的时间
- 本文教您win7如何运用自动关机命令
- 教你win7无法更新提示80072ee2怎样办