【问题标题】:Pdf to image conversion using PdfBox使用 PdfBox 将 Pdf 转换为图像
【发布时间】:2018-11-14 07:19:08
【问题描述】:

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

WARN [org.apache.pdfbox.rendering.Type1Glyph2D] 代码 52 没有字形 (a20) 字体 ZapfDingbats

public static void main(String[] 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 到图像代码?

【问题讨论】:

    标签: pdfbox pdf-conversion


    【解决方案1】:

    问题可能与字体有关。 (Zapf Dingbats 和/或 MS Gothic 可能会丢失)

    您能否尝试在 Linux 的“./fonts”或“/usr/share/fonts”目录中安装缺少的字体,

    “/Windows/Fonts”用于 Windows

    【讨论】:

    • WARN [org.apache.pdfbox.rendering.Type1Glyph2D] ZapfDingbats 字体中代码 52 (a20) 没有字形 2018-11-13 20:01:01,280 WARN [org.apache.pdfbox.pdmodel .font.PDType1Font] 为 ZapfDingbats 使用后备字体 LiberationSans 我在 aix 服务器的哪个位置安装?
    • 您不必在代码中设置字体。你需要在你的系统上安装它。如果您不知道如何安装字体(很可能只是将其复制到那里),请询问您的管理员,或在您的主目录中创建一个目录 .fonts 并将字体复制到那里。
    • 但是我们可以在代码本身中做些什么吗?
    • 否,因为 fontbox 在预定义的位置检查文件系统中的内容。
    猜你喜欢
    • 2014-06-13
    • 2018-03-22
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多