How to convert HTML to Pdf with OpenPdf
如何使用OpenPDF将HTML转换为PDF?
据我所知,OpenPdf是Itext 4的一个分支。不幸的是,我找不到Itext 4文档。
好吧,看来您无法仅使用OpenPDF直接做到这一点,您必须使用Flying Saucer:先获得flying-saucer-pdf-openpdf,然后再使用它。例如:
1 2 3 4 5 6 7 8 9 10 11 12 | String inputFile ="my.xhtml"; String outputFile ="generated.pdf"; String url = new File(inputFile).toURI().toURL().toString(); ITextRenderer renderer = new ITextRenderer(); renderer.setDocument(url); renderer.layout(); try (OutputStream os = Files.newOutputStream(Paths.get(outputFile))) { renderer.createPDF(os); } |
来源。
PS:FlyingSaucer需要XHTML语法。如果您的HTML文件有问题,可以使用Jsoup:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | String inputFile ="my.html"; String outputFile ="generated.pdf"; String html = new String(Files.readAllBytes(Paths.get(inputFile))); final Document document = Jsoup.parse(html); document.outputSettings().syntax(Document.OutputSettings.Syntax.xml); ITextRenderer renderer = new ITextRenderer(); renderer.setDocumentFromString(document.html()); renderer.layout(); try (OutputStream os = Files.newOutputStream(Paths.get(outputFile))) { renderer.createPDF(os); } |