本文介绍了使用PdfBox将PDF转换为图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当使用Pdfbox将PDF(可填充)转换为Jpeg时。复选框中的勾号将转换为方框字符

公共静态空Main(字符串[]args)引发异常{

    try (final PDDocument document = PDDocument.load(new File("C:\Users\priyadarshini.s\Downloads\ADWE3244_Merge(1).pdf"))){

        ClassLoader classloader = Thread.currentThread().getContextClassLoader();
        InputStream is = classloader.getResourceAsStream("zapfdingbats.ttf");

        PDFRenderer pdfRenderer = new PDFRenderer(document);
        PDFont font = PDType0Font.load(document,is); //PDTrueTypeFont.loadTTF(document, new File( "c:/arial.ttf" ));
        //font.s sesetWidths(PDType1Font.HELVETICA.getWidths());


        for (int page = 0; page < document.getNumberOfPages(); ++page)
        {

            BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);

            String fileName = OUTPUT_DIR + "image-" + page + ".jpg";
            ImageIOUtil.writeImage(bim, fileName, 300);
        }


        document.close();


    } catch (IOException e){
        System.err.println("Exception while trying to create pdf document - " + e);
    }
}

如何将PDF的字体设置为图像代码?

推荐答案

问题可能与字体有关。(可能缺少Zapf Dingbats和/或MS哥特式)

您是否可以尝试在目录"./Fonts"或"/usr/Share/Fonts"(适用于Linux)中安装缺少的字体

Windows的"/Windows/Fonts"

这篇关于使用PdfBox将PDF转换为图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 14:04