是否可以使用Ghost4j创建图像的PDF文件?

时间:2012-09-27 10:14:19

标签: java image pdf pdf-generation ghostscript

我需要使用Ghost4j创建一个包含多个图像的PDF文件?这真的可能吗?我在他们的网站上找不到任何相关文档......欢迎任何有价值的建议..

3 个答案:

答案 0 :(得分:3)

Ghostscript将PostScript和PDF文件作为输入处理,而不是图像文件格式。也就是说,PostScript是一种编程语言,因此可以在PostScript中编写导入工具。标准的Ghostscript附带代码来导入GIF,JPEG,BMP和PCX文件格式(ghostpdl / gs / lib / view ___。ps)

但是,我不知道Ghost4j暴露了什么(此外,我不是Java程序员)所以我不能告诉你如何做到这一点。

答案 1 :(得分:1)

不确定Ghost4j,我是使用PDFBox ImageToPDF

完成的

可以找到here的实际代码,您也可以根据自己的要求对其进行调整。

答案 2 :(得分:0)

以下是使用Ghost4j将pdf转换为图像的工作示例:

import org.ghost4j.document.DocumentException;
import org.ghost4j.document.PDFDocument;
import org.ghost4j.renderer.RendererException;
import org.ghost4j.renderer.SimpleRenderer;
import java.awt.Image;
import java.awt.image.RenderedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
import java.io.IOException;

public class PdfToIm_G4J {

    public void convertPdfToIm( String pdfFilePath, String imExtension ) throws 
                                     IOException,DocumentException,RendererException

        // load the pdf
        document.load( new File( pdfFilePath ) );     

        // create renderer
        SimpleRenderer renderer = new SimpleRenderer();

        // set resolution (in DPI)
        renderer.setResolution( dpi );

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

        // write the images to file
        for (int iPage = 0; iPage < images.size(); iPage++) {
            ImageIO.write( (RenderedImage) images.get( iPage ), imExtension, 
                            new File( "" + iPage + "." + imExtension ) );
        }

    }    

}