Pet*_*čka 3 html javascript pdf jspdf jspdf-autotable
我正在使用img jsPDF AutoTable 库从我的HTML 表创建PDF 文件,Everythink 工作正常,始终创建PDF,但我对我的国家/地区典型的一些特殊字符有疑问。在我的 PDF 文件中,包含这些字符的字符串在打印时没有包含它们,而且,看起来该字符串中的每个字符都用空格分隔。
\n\n我无法选择没有这个字符的方式,因为它们包含在名称中。我遇到问题的字符是例如带有钩子的 c -> \xc4\x8d。
\n\n下面我给你举个例子,其中第 1、2、3 和 4 行的第一列缺少带有钩子的 c,然后字符之间用空格分隔。
\n\n\n\n你不知道如何解决吗?
\n我来自捷克共和国,如果有帮助的话(因为字符集)..
在发布 1.4.0 版本后,jsPDF 终于支持了变音符号字符的编码,但在我看来,以一种非常奇怪的方式。
C:\Windows\Fonts\Calibri并将.ttf字体文件复制到桌面。import { jsPDF } from "jspdf"
var font = 'AAEAAAAWAQQAAB...==';
var callAddFont = function () {
this.addFileToVFS('calibri-normal.ttf', font);
this.addFont('calibri-normal.ttf', 'calibri', 'normal');
};
jsPDF.API.events.push(['addFonts', callAddFont]);Run Code Online (Sandbox Code Playgroud)
中的第二个字符串this.addFont('calibri-normal.ttf', 'calibri', 'normal');将是您的字体的名称。记住它。
import '../utils/calibri-normal';jsPDF并设置字体的位置:const doc = new jsPDF('p', 'pt', 'a4');
doc.setFont("calibri"); // <-- place here your font name, which you remeber before
//...
doc.save('file001.pdf');Run Code Online (Sandbox Code Playgroud)
doc.autoTable({
head: [['Column1', 'Column2', 'Column3']],
body: someDataRows,
styles: {
font: 'calibri', // <-- place name of your font here
fontStyle: 'normal',
},
margin: { bottom: 60 }
});Run Code Online (Sandbox Code Playgroud)