首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在jspdf中使用粗体自定义字体

如何在jspdf中使用粗体自定义字体
EN

Stack Overflow用户
提问于 2019-01-04 10:40:17
回答 3查看 9K关注 0票数 3

我尝试在jspdf中使用自定义字体,但无法将字体显示为粗体,我按照here指定的步骤操作。

代码如下:

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
(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:

代码语言:javascript
运行
复制
(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中没有任何内容显示为粗体。

我把它用在电子课上,我不知道这会不会改变什么。

EN

回答 3

Stack Overflow用户

发布于 2021-06-11 19:01:14

您可以这样编辑您的JS文件。

代码语言:javascript
运行
复制
doc.text("This is example paragraph", 11,13,).setFontSize(8).setFont(undefined, 'bold');

doc.text("This is example paragraph", 11,13,).setFontSize(8).setFont(undefined, 'normal');

这里的输出,

票数 1
EN

Stack Overflow用户

发布于 2021-06-18 01:31:59

您可以使用:doc.setFont(undefined, 'bold').text("Your paragraph").setFont(undefined, 'normal')将一行设置为粗体

票数 0
EN

Stack Overflow用户

发布于 2020-11-30 19:36:02

https://github.com/MrRio/jsPDF/issues/199#issuecomment-73009553

Doc.setFontType(“粗体”);doc.text(20,20,“这是一个粗体段落”);

doc.setFontType(" normal ") doc.text(40,40,“这是一个普通字体段落”);

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54032490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档