文本包装混淆 (lineBreak:false 被忽略)
作者: ammulder创建于 2023年3月23日更新于 2026年7月11日
我试图在特定位置打印一行文本,并指定特定宽度,如果文本太长,我希望用省略号进行截断,而不允许自动换行到其他行。 根据文档,我认为这应该可以实现: doc.text('some long text', 0, 1, {lineBreak: false, ellipsis: true, width: 280});
然而,如果我这样做,那么行仍然会自动换行,并且部分文本会出现在第二行。 似乎设置 height 而不是使用 lineBreak:false 才能实现效果:
doc.fontSize(12); doc.text('some long text', 0, 1, {ellipsis: true, width: 280, height:15});
也许文档可以更加明确? 似乎 lineBreak:false 没有任何效果,如果要使用 ellipsis,则必须指定 height? (如果不想使用默认页面宽度减去边距,那么还需要指定 width 吗?)
内容来源: foliojs/pdfkit