Search code examples
javascriptnode.jspdfpdf-generationnode-pdfkit

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


I'm trying to find a way to use bold font weights for inline emphasis in pdfkit

Unfortunately I cannot find a way to change the font without forcing a line break (bad for inline emphasis...).

I was trying something like:

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

but this will output

Hello

World

I also digged through the source but could not find any option to prevent this.

Anyone has any idea or workaround to tackle this problem?

EDIT:

All I could come up with by now is a ugly hack looking like this:

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

which is working but far from flexible and maintainable.


Solution

  • The documented way to handle this is continued.

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

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