如何使用OpenPDF将HTML转换为PDF
据我所知,OpenPdf是ITEX4的一个分支,不幸的是我找不到ITEX4文档。
发布于 2018-03-18 02:47:43
好的,看起来你不能只用OpenPDF直接做这件事,你必须使用Flying Saucer:获取flying-saucer-pdf-openpdf然后使用它。举个例子:
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
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);
}https://stackoverflow.com/questions/49325830
复制相似问题