使用pdfkit时,我可以在同一段落中混合字体权重吗?

m90*_*m90 8 javascript pdf pdf-generation node.js node-pdfkit

我正试图找到一种方法来使用粗体字体权重来强调pdfkit中的内联强调

不幸的是,我找不到一种方法来改变字体而不强制换行(对于内联强调不好......).

我在尝试这样的事情:

pdf.text('Hello ', LEFT, 200).font(bold).text('World!');
Run Code Online (Sandbox Code Playgroud)

但这会输出

你好

世界

我也挖掘了源代码,但找不到任何防止这种情况的选择.

任何人有任何想法或解决方法来解决这个问题?

编辑:

我现在能想到的只是一个丑陋的黑客,看起来像这样:

pdf.text('Hello ', LEFT, 200).moveUp(1).font(bold).text('World!', {indent: pdf.widthOfString('Hello ')});
Run Code Online (Sandbox Code Playgroud)

这是有效的,但远非灵活和可维护.

And*_*rew 12

基本上你需要用lineBreak:false设置选项,

pdf.text('Hello ', LEFT, 200, {
    //here it is, 
    lineBreak : false
}).font(bold).text('World!');
Run Code Online (Sandbox Code Playgroud)

这将使Hello not break行,因此下一个World将在同一行上打印.

我发现这个:

node_modules\pdfkit\js\mixins\text.js, line 130
Run Code Online (Sandbox Code Playgroud)

pdfkit版本:0.2.6


小智 8

记录下来的处理方法仍在继续

pdf.font('Helvetica-Bold').text('Hello ', {
    continued: true
}).font('Helvetica').text('World!');
Run Code Online (Sandbox Code Playgroud)

http://pdfkit.org/docs/text.html