-1

我能够从 URL 获取 PDF 文件,将流编码为 base 64 并将字符串发送给 XML 文件字段中的第三方,但是当我尝试打开 PDF 文件解码时遇到下一个问题。

无法提取嵌入字体“ArialMT,Bold”。某些字符可能无法正确显示或打印。

以下是 SAP PI 7.1 中 Java 映射的代码:

    urlStr = "Insert here your url";
    StringBuffer data = new StringBuffer();
    URL url = new URL(urlStr);
    URLConnection conn = url.openConnection ();

    // Get the response
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    StringBuffer sb = new StringBuffer();
    String line;
    String carriagereturn = System.getProperty("line.separator");

    while ((line = rd.readLine()) != null)
    {
        trace.addWarning(line);
        sb.append(line);
        sb.append(carriagereturn);
    }

    rd.close();
    result = sb.toString();
} catch (Exception e){
    trace.addWarning(e.toString());
}

return org.apache.commons.codec.binary.Base64.encodeBase64String(result.getBytes());

InputStreamReader我已经读到,由于字母的版权,执行 an 时无法检索字体。这是真的吗?

之后是否有其他可能使用 iText 库或类似库嵌入字体?

4

1 回答 1

0

如果在创建过程中字体没有嵌入到 PDF 中,并且您在打开 pdf 的系统上没有完全相同的字体,则可能会发生这种情况。

pdf 是使用 itext 生成的吗?在这种情况下,这个答案可以帮助你。否则,请尝试将字体放在系统字体目录中。

编辑:至于第二个问题,有一个小的演示程序可以在现有的 pdf 文件中嵌入字体,其中字体没有嵌入这里

于 2013-07-05T20:02:51.360 回答