我正在尝试在jspdf中使用自定义字体,但我无法将字体显示为粗体,我按照这里指定的步骤进行了操作。
以下是代码:
require ("./js/Roboto-Regular-normal.js");
require ("./js/Roboto-Regular-bold.js");
let doc = new jsPDF();
doc.setFont('Roboto-Regular');
doc.setFontSize(8);
doc.text("hello world", 50 , 50);
doc.setFontType('bold');
doc.text("Hello Bold", 50, 55);
let blob = doc.output();
const fs = require('fs');
fs.writeFile('a5.pdf', blob, 'utf8', function(err){
//Do something
});
Roboto-Regular-normal.js
(function (jsPDFAPI) {
var font = base64_font; //I didn't include this string because is too large, let me know if I should include it anyways
var callAddFont = function () {
this.addFileToVFS("Roboto-Regular-normal.ttf", font);
this.addFont("Roboto-Regular-normal.ttf", "Roboto-Regular", "normal");
};
jsPDFAPI.events.push(['addFonts', callAddFont])
})(jsPDF.API);
Roboto-Regular-bold.js:
(function (jsPDFAPI) {
var font = base64_font; //I didn't include this string because is too large, let me know if I should include it anyways
var callAddFont = function () {
this.addFileToVFS("Roboto-Regular-bold.ttf", font);
this.addFont("Roboto-Regular-bold.ttf", "Roboto-Regular", "bold");
};
jsPDFAPI.events.push(['addFonts', callAddFont])
})(jsPDF.API)
PDF中没有任何文字显示为粗体。
我在electron中使用它,我不知道是否会有所改变。