Skip to main content
Skip table of contents

How to make a particular sub-string Bold when converting HTML to PDF?

I am using iText in Java to convert a HTML to PDF. I want a particular paragraph which has some words as Bold and some as Bold+Underlined to be passed as a string to the Java code and to be converted to PDF using the iText library. I am unable to find a suitable method for this. How should I do this?

Posted on StackOverflow on Jun 4, 2014 by Anuranjan

If you want to convert XHTML to PDF, you need iText + XML Worker.

The most simple examples looks like this:

public void createPdf(String file) throws IOException, DocumentException {
    // step 1
    Document document = new Document();
    // step 2
    PdfWriter writer =
        PdfWriter.getInstance(document, new FileOutputStream(file));
    // step 3;
    // step 4
    XMLWorkerHelper.getInstance().parseXHtml(writer, document,
            new FileInputStream(HTML));
    // step 5

Note that the HTML file is passed as a FileInputStream in this case. You want to pass a String. This means you'll have to do something like this:

XMLWorkerHelper.getInstance().parseXHtml(writer, document,
        new StringReader("<p>The <b>String</b> I want to render to PDF</p>"));

There are more complex examples available in case you need support for images, special fonts, and so on.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.