使用 Java 的 PDF 到图像

2022-09-01 02:29:02

我想将PDF页面转换为图像(PNG,JPEG / JPG或GIF)。我希望它们具有整页大小。

如何使用Java完成此操作?有哪些库可用于实现此目的?


答案 1

在Ghost4J库(http://ghost4j.sourceforge.net)中,从0.4.0版本开始,您可以使用SimpleRenderer通过几行代码来完成这项工作:

  1. 加载PDF或PS文件(为此使用PSDocument类):

        PDFDocument document = new PDFDocument();
        document.load(new File("input.pdf"));
    
  2. 创建渲染器

        SimpleRenderer renderer = new SimpleRenderer();
    
        // set resolution (in DPI)
        renderer.setResolution(300);
    
  3. 呈现

        List<Image> images = renderer.render(document);
    

然后,您可以对图像对象执行所需的操作,例如,可以将它们编写为 PNG,如下所示:

            for (int i = 0; i < images.size(); i++) {
                ImageIO.write((RenderedImage) images.get(i), "png", new File((i + 1) + ".png"));
            }

注意:Ghost4J使用原生Ghostscript C API,所以你需要在盒子上安装Ghostscript。

我希望它能帮助你:)


答案 2

Apache PDF Box可以将PDF转换为jpg,bmp,wbmp,png和gif。

该库甚至带有一个名为PDFToImage的命令行实用程序来执行此操作。

如果您下载源代码并查看PDFToImage类,您应该能够弄清楚如何使用PDF Box将PDF转换为您自己的Java代码中的图像。


推荐