【问题标题】:Can I mix font weights in the same paragraph when using pdfkit?使用 pdfkit 时,我可以在同一段落中混合字体粗细吗?
【发布时间】:2014-01-03 02:55:42
【问题描述】:

我正在尝试找到一种方法,在 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 ')});

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

【问题讨论】:

    标签: javascript node.js pdf pdf-generation node-pdfkit


    【解决方案1】:

    处理此问题的记录方法

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

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

    【讨论】:

    • 这应该设置为真正的解决方案。谢谢
    【解决方案2】:

    基本上你需要用 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

    【讨论】:

    猜你喜欢
    • 2023-01-04
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2018-06-26
    相关资源
    最近更新 更多