17

我正在尝试找到一种在pdfkit中使用粗体字重进行内联强调的方法

不幸的是,我找不到不强制换行的方法来更改字体(不利于内联强调......)。

我正在尝试类似的东西:

pdf.text('Hello ', LEFT, 200).font(bold).text('World!');

但这会输出

你好

世界

我还挖掘了源代码,但找不到任何选项来防止这种情况发生。

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

编辑

到目前为止,我所能想到的只是一个看起来像这样的丑陋黑客:

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

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

4

2 回答 2

28

处理此问题的记录方法将继续

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

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

于 2017-10-10T23:53:53.120 回答
18

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

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

这将使 Hello 不中断行,因此下一个 World 将打印在同一行上。

我发现这个:

node_modules\pdfkit\js\mixins\text.js, line 130

pdfkit 版本:0.2.6

于 2013-12-27T08:54:58.503 回答