天天看点

java itext html_java – 将HTML解析为PDF的iText样式

我有iText的问题.

我的片段:

String str = "

First

sdasdasd shshshshdffgdfgd

The dream

";

String fileNameWithPath = "/Users/cecco/Desktop/pdf2.pdf";

com.itextpdf.text.Document document =

new com.itextpdf.text.Document(com.itextpdf.text.PageSize.A4);

FileOutputStream fos = new FileOutputStream(fileNameWithPath);

com.itextpdf.text.pdf.PdfWriter pdfWriter =

com.itextpdf.text.pdf.PdfWriter.getInstance(document, fos);

document.open();

document.addAuthor("Myself");

document.addSubject("My Subject");

document.addCreationDate();

document.addTitle("My Title");

com.itextpdf.text.html.simpleparser.HTMLWorker htmlWorker =

new com.itextpdf.text.html.simpleparser.HTMLWorker(document);

htmlWorker.parse(new StringReader(str.toString()));

document.close();

fos.close();

工作正常.

但是不考虑将标签样式转换为h3和div.

我怎么解决这个问题?

解决方法:

iText不是最好的Html Parser,但你可以使用Flying-Saucer. Flying-Saucer构建于iText之上,但具有强大的Xml /(X)Html解析器.简而言之:如果你想要html,飞碟是完美的 – > PDF文件.

以下是如何从字符串生成pdf:

String str = "

First

t

sdasdasd shshshshdffgdfgd

The dream

";

OutputStream os = new FileOutputStream(new File("example.pdf"));

ITextRenderer renderer = new ITextRenderer();

renderer.setDocumentFromString(str);

renderer.layout();

renderer.createPDF(os);

os.close();

但是:FS只支持有效的Html / Xhtml / xml,所以请确保它是真的.

标签:java,pdf,itext,html

来源: https://codeday.me/bug/20190529/1180440.html