使用java将pdf转换为.tiff

时间:2014-03-25 02:06:08

标签: java pdf pdfbox

我创建了一个Web服务,它有一个接收DataHandler参数的方法。此方法的目的是读取通过DataHandler发送的内容并将其写入文件(.tiff)。当我传入.tiff文件时,我可以很容易地进行转换,但是如何使用Java从pdf文件转换为.tiff文件。

因此,如果用户使用DataHandler传入pdf文件,我该如何将其转换为.tiff文件?

1 个答案:

答案 0 :(得分:0)

    PDDocument doc = PDDocument.loadNonSeq(new File(filename), null);
    boolean b;
    List<PDPage> pages = doc.getDocumentCatalog().getAllPages();
    for (int p = 0; p < pages.size(); ++p)
    {
        // RGB image with 300 dpi
        BufferedImage bim = pages.get(p).convertToImage(BufferedImage.TYPE_INT_RGB, 300);

        // alternatively: B/W image with 300 dpi
        bim = pages.get(p).convertToImage(BufferedImage.TYPE_BYTE_BINARY, 300);

        // save as TIF with dpi in the metadata
        // PDFBox will choose the best compression for you
        // you need to add jai_imageio to your classpath for this to work
        b = ImageIOUtil.writeImage(bim, "page-" + (p+1) + ".tif", 300);
        if (!b)
        {
            // error handling
        }
    }

如果您的问题是关于转换为多页TIFF,请说明,我也有解决方案。