Javascript 无法使用pdfkit.js加载日文字体错误:不是受支持的字体格式或标准PDF字体
请看小提琴的例子。我对使用pdf字体知之甚少。我正在使用pdfkit生成pdf。 我试图加载日文字体,但没有运气。我阅读了stackoverflow的大部分文章,但我没有成功地将日文文本写入pdfJavascript 无法使用pdfkit.js加载日文字体错误:不是受支持的字体格式或标准PDF字体,javascript,jquery,fonts,pdfkit,node-pdfkit,Javascript,Jquery,Fonts,Pdfkit,Node Pdfkit,请看小提琴的例子。我对使用pdf字体知之甚少。我正在使用pdfkit生成pdf。 我试图加载日文字体,但没有运气。我阅读了stackoverflow的大部分文章,但我没有成功地将日文文本写入pdf var doc = new PDFDocument(); var stream = doc.pipe(blobStream()); // draw some text doc.fontSize(25) .text("h
var doc = new PDFDocument();
var stream = doc.pipe(blobStream());
// draw some text
doc.fontSize(25)
.text("hello world", 100, 80);
var oReq = new XMLHttpRequest();
oReq.open("GET", "//fonts.gstatic.com/ea/mplus1p/v1/Mplus1p-Thin.ttf", true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response; // Note: not oReq.responseText
if (arrayBuffer) {
doc.registerFont('OpenSans', arrayBuffer)
doc.fontSize(25);
doc.font('OpenSans').text('こんにちは世界')
}
};
oReq.send(null);
// end and display the document in the iframe to the right
doc.end();
stream.on('finish', function () {
document.getElementById('myiframe').src = stream.toBlobURL('application/pdf');
console.log(stream.toBlobURL('application/pdf'))
document.getElementById('spnmessage').innerText = "can't load the pdf in iframe in the jsfiddle. You can open the pdf through console"
});
以下是您可以在下面的链接中找到如何加载自定义unicode字体: 提到的解决方案对我很有效 基本上,我下载了日文字体。然后将它们放在我的nodejs项目中(例如,
/src/fonts
),在我的控制器中,我使用以下方法导入文件:
let fontpath=(_dirname+'/../fonts/TimesNewRoman.ttf');
文档字体(fontpath);
该键使用\uuu dirname
来定位路径
附加参考:
有几件事-您的小提琴在Chrome中不起作用,您正在加载字体Mplus1p,但将其称为“OpenSAN”,并且您对
registerFont
的调用似乎没有遵循pdfkit文档中所说的您应该作为参数传递的内容。最后,你是否确保你加载的字体确实通过了正确的字体验证(使用或其他方式),因为你没有将其用作webfont,而是试图将其用作完全OpenType字体来进行排版。你们发现问题了吗?我在同一点被挡住了。