有没有办法在nodejs pdfkit中使一行中的文本片段变为粗体?

Posted

技术标签:

【中文标题】有没有办法在nodejs pdfkit中使一行中的文本片段变为粗体?【英文标题】:Is there a way to make a fragment of text within a line bold in 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');

并查看输出:

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

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

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

【问题讨论】:

相关:***.com/questions/20598693/… 【参考方案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!');

【讨论】:

以上是关于有没有办法在nodejs pdfkit中使一行中的文本片段变为粗体?的主要内容,如果未能解决你的问题,请参考以下文章

如何在datagrid中使一行的单元格不可点击

如何在 Django Administration 中使文本加粗

如何在 QTextEdit 中使链接可点击?

有没有办法在不重新启动调试器的情况下评估nodejs中的promise?

如何防止 PDFKit/NSImage 中的渲染伪影?

如何在 iOS 中使定位更准确?