首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用OpenPdf将HTML转换为Pdf

如何用OpenPdf将HTML转换为Pdf
EN

Stack Overflow用户
提问于 2018-03-17 00:48:02
回答 1查看 15.1K关注 0票数 4

如何使用OpenPDF将HTML转换为PDF

据我所知,OpenPdf是ITEX4的一个分支,不幸的是我找不到ITEX4文档。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-18 02:47:43

好的,看起来你不能只用OpenPDF直接做这件事,你必须使用Flying Saucer:获取flying-saucer-pdf-openpdf然后使用它。举个例子:

代码语言:javascript
复制
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);
}

Source

PS: FlyingSaucer需要XHTML语法。如果您在处理HTML文件时遇到一些问题,可以使用Jsoup

代码语言:javascript
复制
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);
}
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49325830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档