【问题标题】:Is there a way to make a fragment of text within a line bold in nodejs pdfkit?有没有办法在nodejs pdfkit中使一行中的文本片段变为粗体?
【发布时间】:2013-01-21 20:07:02
【问题描述】:

Node-pdfkit http://pdfkit.org/index.html

我正在使用 nodejs pdfkit 来生成 pdf。我希望能够粗体斜体一行中的单个单词。看来pdfkit不支持这个,所以我想知道是否有人做过类似的事情?

真正有用的是调用 doc.text 函数,但让文档保留它的 x 位置,以便我可以执行以下操作。

doc.text('some words then ');
doc.font('Helvetica-Oblique');
doc.text('italic');
doc.font('Helvetica');
doc.text(' then the remaining words');

并查看输出:

一些词,然后是 斜体,然后是剩余的词。

现在每个文本函数输出一行。

有人知道这样做的好方法吗?

【问题讨论】:

标签: node.js pdf pdf-generation


【解决方案1】:

此功能由 ej4 在此拉取请求中添加 https://github.com/devongovett/pdfkit/pull/60

它还没有合并到主项目中,所以我最终自己 fork pdfkit,包括 ej4s 的更改和我自己的一些。

基本的结果是改变使得添加成为可能

continued: true

到选项对象。然后,Pdfkit 会记住插入符号的位置并将您返回到该位置以获取下一行文本。

【讨论】:

  • 这个答案还允许您在下一行添加文本而无需递归缩进
  • 这现在被合并到主项目中,正如 Gabriel 所说,它可以防止递归缩进(接受的答案不会)。
【解决方案2】:

请看:Can I mix font weights in the same paragraph when using pdfkit?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多