2012-09-25 60 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),我还没有试过。

相关问题