Sum*_*eet 8 javascript pdf unicode pdfkit jspdf
我想在客户端使用 JavaScript 生成一个 pdf 文件。首先我尝试使用 jsPdf API 。但它不适用于像中文这样的 Unicode 字符。
是否有任何选项可以增强 jspdf 以支持 Unicode 或任何其他支持 Unicode 的库。
Pdfmake API 说它支持 Unicode,但是当我尝试它也不起作用时,我在那里查看了放置 Unicode 字符的演示示例。
我尝试在 Node.js 中使用 pdfkit 但没有正确创建 pdf
var PDFDocument = require("pdfkit");
var fs = require('fs');
var doc = new PDFDocument;
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(15);
doc.text('Generate PDF! ????????');
doc.end();
Run Code Online (Sandbox Code Playgroud)
在 pdf 中,它创建为生成 PDF!o"[Wo"[Wo"[Wo"[W
另外,我可以在 pdfMake 中添加多种字体吗?
var fontDescriptors = {
Roboto: {
normal: 'examples/fonts/Roboto-Regular.ttf',
bold: 'examples/fonts/Roboto-Medium.ttf',
italics: 'examples/fonts/Roboto-Italic.ttf',
bolditalics: 'examples/fonts/Roboto-Italic.ttf'
}
};
var printer = new pdfMakePrinter(fontDescriptors);
Run Code Online (Sandbox Code Playgroud)
我将介绍如何使用Node.js和解决方案PDFKit既然你提到它,但它也适用于pdfmake内部使用PDFKit。
大多数情况下,这些库中使用的默认字体不接受汉字。您必须添加和使用与您需要支持的语言兼容的字体。如果我们以pdfmake为例,他们使用Roboto
默认字体,它确实不接受汉字。
使用您的代码示例,我们可以使用Microsoft YaHei
字体 (msyh.ttf)添加对中文的支持,例如仅添加 1 行代码:
var PDFDocument = require("pdfkit");
var fs = require('fs');
var doc = new PDFDocument;
doc.pipe(fs.createWriteStream('output.pdf'));
doc.font('fonts/msyh.ttf');
doc.fontSize(15);
doc.text('Generate PDF! ????????');
doc.end();
Run Code Online (Sandbox Code Playgroud)
输出将如下所示:
归档时间: |
|
查看次数: |
8402 次 |
最近记录: |