我们使用 Apache Maven 来管理我们的项目依赖项。确保以下依赖项驻留在类路径中。

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.8</version>
</dependency>
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox-tools</artifactId>
    <version>2.0.8</version>
</dependency>

Apache PDFBox 在 Java 中将 PDF 转换为图像

我们首先加载 PDF 文档。接下来我们创建一个 PDFRenderer 类。然后我们遍历每个页面并创建一个 BufferedImage . 最后我们将图像写入磁盘。干净简单。

package com.memorynotfound.pdf.pdfbox;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.pdfbox.tools.imageio.ImageIOUtil;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class PdfToImage {
    private static final String OUTPUT_DIR = "/tmp/";
    public static void main(String[] args) throws Exception{
        try (final PDDocument document = PDDocument.load(new File("/tmp/bookmark.pdf"))){
            PDFRenderer pdfRenderer = new PDFRenderer(document);
            for (int page = 0; page < document.getNumberOfPages(); ++page)
                BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
                String fileName = OUTPUT_DIR + "image-" + page + ".png";
                ImageIOUtil.writeImage(bim, fileName, 300);
            document.close();
        } catch (IOException e){
            System.err.println("Exception while trying to create pdf document - " + e);
                    本教程演示如何使用 Apache PDFBox 将 PDF 文档转换为 Java 中的图像。Maven 依赖项我们使用 Apache Maven 来管理我们的项目依赖项。确保以下依赖项驻留在类路径中。&lt;dependency&gt;    &lt;groupId&gt;org.apache.pdfbox&lt;/groupId&gt;    &lt;artifactId&gt;pdfbox&lt;/artifactId&gt;    &lt;version&gt;2.0.8&lt
				
直接上代码,关键位置有注释,有错误,不懂的地方请留言。 @RequestMapping("/pdf") public void pdf2Image(HttpServletResponse response) throws IOException { PDDocument doc = PDDocument.load(new File("C:\\Users\\F\\Deskto...
Java中进行图像I/O(即读图片和写图片,不涉及到复杂图像处理)有三个方法: Java Image I/O API,支持常见图片,从Java 2 version 1.4.0开始就内置了。 主页:http://java.sun.com/javase/6/docs/technotes/guides/imageio/index.html JAI 中的 Image I/O Tools,支持更多图
15:42:52,158 WARN [WARN] Handler execution resulted in exception javax.imageio.IIOException: Can't create output stream! at javax.imageio.ImageIO.write(ImageIO.java:1574) at org.flhy.webapp.core.K...
通常在开发的时候,我们会遇到图片上传的功能,特别是有很多是提供url地址的方式。所以需要提供一个将url的图片等存储起来,然后提供一个我们自己的地址给用户使用。 第一步:提供pdfbox的jar包。准备相应的maven          &lt;dependency&gt;             &lt;groupId&gt;org.apache.pdfbox&lt;/groupId&gt;...
使用 Apache PDFBox 库可以实现将图片转换PDF 的功能。以下是一个实例代码:try { // 创建一个PDF文档 PDDocument document = new PDDocument(); // 创建一个图像 BufferedImage bufferedImage = ImageIO.read(new File("image.jpg")); // 将图像转换PDF PDImageXObject pdImageXObject = LosslessFactory.createFromImage(document, bufferedImage); // 添加图像PDF文档中 PDPage page = new PDPage(new PDRectangle(pdImageXObject.getWidth(), pdImageXObject.getHeight())); document.addPage(page); // 将图像放入PDF文档中 PDPageContentStream contentStream = new PDPageContentStream(document, page); contentStream.drawImage(pdImageXObject, 0, 0); contentStream.close(); // 保存PDF文档 document.save("image.pdf"); document.close(); } catch (IOException e) { e.printStackTrace(); 韩顺平老师的Java课代表: 自己的逻辑,可以看看这个,写的比较简洁 https://blog.csdn.net/weixin_66419853/article/details/124214479?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168251652816800213023179%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168251652816800213023179&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-3-124214479-null-null.142^v86^koosearch_v1,239^v2^insert_chatgpt&utm_term=Java%E6%80%8E%E4%B9%88%E5%B0%86%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E6%8D%A2%E6%88%90%E4%BA%8C%E8%BF%9B%E5%88%B6&spm=1018.2226.3001.4187