HTML 在 Play Framework 中使用 Itext 而非 PDF 模块转换为 PDF

HTML to PDF in Play Framework using Itext not PDF module

如何使用 itext 在播放框架中将 HTML 模板呈现为 PDF,而不使用 pdf 模块,因为它不受支持?

您可以像在常规 Java 项目中一样转换 HTML 模板。 首先将依赖项添加到 build.sbt:

libraryDependencies += "com.itextpdf" % "itextpdf" % "5.4.2"
libraryDependencies += "com.itextpdf.tool" % "xmlworker" % "5.4.1"

然后,在控制器方法上:

// step 1
Document document = new Document();
// step 2
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("pdf.pdf"));
// step 3
document.open();
// step 4
XMLWorkerHelper.getInstance().parseXHtml(writer, document,
                new ByteArrayInputStream(views.html.index.render().body().getBytes()));

//step 5
document.close();

System.out.println( "PDF Created!" );