gpt4 book ai didi

java - 将 Freemarker 转换为 PDF

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:28:50 24 4
gpt4 key购买 nike

我正在使用 freemarker 设计报告,我遇到了一个问题,我需要 PDF 格式的处理输出。

我想做的是将一个HTML + CSS fremarker 模板传递给freemarker 引擎,并将处理后的HTML 输出为PDF。我目前遇到的问题是如何将处理后的 freemarker 转换为 PDF

    try {
Configuration cfg = new Configuration();
Template tpl = cfg.getTemplate("example.ftl");
OutputStreamWriter output = new OutputStreamWriter(System.out);

Map testHashMap = new HashMap();
testHashMap.put("test", "testValue");

tpl.process(testHashMap, output);

} catch (Exception e) {
e.printStackTrace();
}

在互联网上搜索时我找不到关于这个主题的任何信息,但我发现了 iText 框架

try {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(new StringBufferInputStream(buf.toString()));
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(doc, null);
renderer.layout();
OutputStream os = response.getOutputStream();
renderer.createPDF(os);
os.close();
} catch (Exception ex) {
ex.printStackTrace();
}

现在的问题是如何将这两个代码片段组合起来生成pdf?

非常感谢所有的帮助

问候,米琳达

最佳答案

我认为最好使用两个不同的管道并将它们视为同一模型的两个不同 View 。

数据 -> Freemarker 转换器 -> HTML

数据 -> iText 转换器 -> pdf

或者您可以在 html 上使用 XSLT 并像 Apache FOP 一样使用 XSL-FO,但对我来说这似乎有点过分了。

关于java - 将 Freemarker 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5676686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com