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.
What is Font Weight? Font weight is the “value” placed on your font that will determine how bold or light your text will appear. There are many “values” that you can use that provide a great deal of flexibility towards creating the font weight that works best for how you want to display your text.
Adding pagesThe first page of a PDFKit document is added for you automatically when you create the document unless you provide autoFirstPage: false . Subsequent pages must be added by you.
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
Basically you need to set options with lineBreak : false,
pdf.text('Hello ', LEFT, 200, {
//here it is,
lineBreak : false
}).font(bold).text('World!');
This will make the Hello not break line, so the next World will print on the same line.
I found this in:
node_modules\pdfkit\js\mixins\text.js, line 130
pdfkit version: 0.2.6
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With