2013-07-05 142 views
0

我能够从一个URL获得一个PDF文件,将流编码为64位并将该字符串发送给第三方,而不是xml文件的一个字段,但是我有下一个问题,当我尝试打开PDF文件解码。 。从pdf中获取pdf文件嵌入

不能提取嵌入的字体“ArialMT,粗体”一些字符可能不显示或打印正确

这里是Java代码(它是在树液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检索字体。是真的吗?

是否有其他任何可能在使用iText库或类似软件后嵌入字体?

回答

0

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

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

编辑: 作为第二个问题,有一个小的演示程序在将字体没有包埋here

+0

由SAP产生的PDF和存储在内容服务器的现有的PDF文件中嵌入的字体。您可以通过url访问该文件并检查文档属性,字体被嵌入。 当我恢复PDF的流时,出现此问题,字体不包括在内。 – user2553834

+0

你如何生成PDF? smartform-to-pdf模块功能? –