我知道有两个库可以在浏览器( [1],[2] )中使用 Javascript 创建 PDF 文件,但它们都不允许将自定义字体嵌入到文档中。 [2]允许设置自定义字体,但仅限于标准 PDF 字体(Courier、Times-Roman),并且不再积极开发它们。
有谁知道一个仍在积极开发并支持嵌入自定义字体的浏览器中创建 PDF 文件的库?
干杯,
曼努埃尔
我知道有两个库可以在浏览器( [1],[2] )中使用 Javascript 创建 PDF 文件,但它们都不允许将自定义字体嵌入到文档中。 [2]允许设置自定义字体,但仅限于标准 PDF 字体(Courier、Times-Roman),并且不再积极开发它们。
有谁知道一个仍在积极开发并支持嵌入自定义字体的浏览器中创建 PDF 文件的库?
干杯,
曼努埃尔
好的,看起来当前的实现不支持它。所以我正在使用 emscripten 将 libharu 移植到 javascript:
项目: https ://github.com/manuels/hpdf.js
演示: http: //manuels.github.com/hpdf.js/
如果其他人正在寻找,还有这个:https ://github.com/devongovett/pdfkit
它看起来比 hpdf 更积极地开发,但我无法让它工作仅仅使用带有节点模块 brfs 的 browserify 作为文档提到的(首先 brfs 只适用于静态路径,但它似乎也没有输出原始数据字体正确),我必须这样做才能让它工作:
创建一个缓冲区对象,并将其作为字体与 pdfkit 一起传递,即
fontCenturyGothicBase64 = "your base64 encoded string here";
fontCenturyGothic = new Buffer(fontCenturyGothicBase64, 'base64');
doc.font(fontCenturyGothic);
在javascript文件上使用browserify(Buffer是一个节点对象而不是纯js)
也许不使用 Buffer 对象(因此浏览器化)是可能的,我没有尝试过。