2013-07-05 148 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模塊功能? –