2012-09-25 61 views
1

我知道兩個庫在瀏覽器中使用Javascript創建PDF文件([1],[2]),但它們都不允許在文檔中嵌入自定義字體。 [2]允許設置自定義字體,但只能用於標準PDF字體(Courier,Times-Roman),並且它們都不再被積極開發。在瀏覽器中創建PDF:自定義字體

有沒有人知道一個庫在瀏覽器中創建PDF文件,該文件仍然在積極開發之中,並支持嵌入自定義字體?

乾杯,

曼努埃爾

回答

0

如果其他人正在尋找,這裏還有這個:https://github.com/devongovett/pdfkit

它看起來更積極發展比hpdf,但我不能得到它的工作,只是使用browserify與節點模塊brfs作爲文檔提及(首先brfs只適用於靜態路徑,但它似乎也沒有輸出正確的字體)的原始數據,我不得不這樣做是爲了得到它的工作:

  • 如果你的字體有沒有CMAP:開,然後導出字體爲TTF(與字形地圖中導出選項)與fontforge
  • 以字符串格式獲取ttf文件的base64(我用Python讀取ttf文件的內容,用base64編碼,刪除換行符,然後保存到另一個文件)
  • 粘貼字符串作爲腳本中的變量
  • 創建一個緩衝區對象,並將其作爲pdfkit字體傳遞,即

    在JavaScript文件
    fontCenturyGothicBase64 = "your base64 encoded string here"; 
    fontCenturyGothic = new Buffer(fontCenturyGothicBase64, 'base64'); 
    
    doc.font(fontCenturyGothic); 
    
  • 使用browserify(緩衝區是一個節點對象,而不是純JS)

也許有可能不使用緩衝對象(因此browserify),我還沒有試過。

相關問題