【问题标题】:Using sun PDF Renderer to display PDFs with embedded fonts使用 sun PDF Renderer 显示带有嵌入字体的 PDF
【发布时间】:2010-12-08 10:37:30
【问题描述】:

我在使用 Sun 的 PDF Renderer 包查看带有嵌入字体的 PDF 时遇到问题。我有以下代码,它从 PDF 的每一页创建一个 BufferedImage 以在我的应用程序中查看,并且在没有嵌入字体时它工作正常。但是,当 PDF 嵌入字体时,它不会显示任何文本。有任何想法吗?此外,它可以在 Adob​​e 的 PDF 查看器中正常打开。

File f = new File("C:\\test.pdf");
FileChannel fc = new RandomAccessFile(f, "r").getChannel();
PDFFile pdfFile = new PDFFile(fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size()));
for(int x=0; x<pdfFile.getNumPages(); x++) {
    try {
        BufferedImage bi = (BufferedImage)pdfFile.getPage(x+1).getImage(
            (int)pdfFile.getPage(x+1).getWidth(),
            (int)pdfFile.getPage(x+1).getHeight(),
            new Rectangle((int)pdfFile.getPage(x+1).getWidth(),
            (int)pdfFile.getPage(x+1).getHeight()),
             null, true, true);
    }
    catch (Exception e) {
        e.printStackTrace();
    }
}

【问题讨论】:

    标签: java pdf


    【解决方案1】:

    我通过将 PDF 渲染从 PDFRenderer 更改为 PDFBox 来解决这个问题,这样效果更好。更多信息可通过here 获取。

    【讨论】:

      【解决方案2】:

      您还可以查看提供开源 PDF 工具的 Icesoft、IText、JPedal 和 Multivalent。

      【讨论】:

        猜你喜欢
        • 2017-02-19
        • 1970-01-01
        • 2017-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-30
        • 2022-01-26
        • 2016-02-18
        相关资源
        最近更新 更多