4
我遇到了iText问题。将HTML解析为PDF的iText样式
我已经按照这个链接:How to export html page to pdf format?
我的片段:
String str = "<html><head><body><div style=\"width:100%;height:100%;\"><h3 style=\"margin-left:5px;margin-top:40px\">First</h3><div style=\"margin-left:15px;margin-top:15px\"><title></title><p>sdasdasd shshshshdffgdfgd</p></div><h3 style=\"margin-left:5px;margin-top:40px\">The dream</h3><div style=\"margin-left:15px;margin-top:15px\"></div></div></body></head></html>";
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不被考虑。
但是,如果我复制我的HTML为http://htmledit.squarefree.com/一切是正确的。
我该如何解决这个问题?
更改为飞碟并在此答案中使用它解决了所有我的HTML解析PDF问题。正如奥洛指出的那样,你应该先“清理”字符串才能真正成为有效的HTML。我用Jsoup解析html,为此。 –