java – 将HTML解析为PDF的iText样式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 将HTML解析为PDF的iText样式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2202字,纯文字阅读大概需要4分钟。
内容图文
![java – 将HTML解析为PDF的iText样式](/upload/InfoBanner/zyjiaocheng/816/75fdb2bf446948e786ae5cb4dcc6735b.jpg)
我有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/,那么一切都是正确的.
我怎么解决这个问题?
解决方法:
iText不是最好的Html Parser,但你可以使用Flying-Saucer. Flying-Saucer构建于iText之上,但具有强大的Xml /(X)Html解析器.简而言之:如果你想要html,飞碟是完美的 – > PDF文件.
以下是如何从字符串生成pdf:
/*
* Note: i filled something in the title-tag and fixed the head tag (the whole body-tag was in the head)
*/
String str = "<html><head></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>t</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></html>";
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 – 将HTML解析为PDF的iText样式全部内容,希望文章能够帮你解决java – 将HTML解析为PDF的iText样式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。