How to make a particular sub-string Bold while printing a string in Pdf using iText in java eclipse?

瘦欲@ 提交于 2019-12-22 08:16:36

问题


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?


回答1:


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

You can find a number of examples here: http://itextpdf.com/sandbox/xmlworker

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
    document.open();
    // step 4
    XMLWorkerHelper.getInstance().parseXHtml(writer, document,
            new FileInputStream(HTML));
    // step 5
    document.close();
}

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 in the Sandbox in case you need support for images, special fonts, and so on. For instance this example will convert XHTML to a series of iText objects instead of rendering them to a page rightaway.



来源:https://stackoverflow.com/questions/24036662/how-to-make-a-particular-sub-string-bold-while-printing-a-string-in-pdf-using-it

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!