有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将数据注入asciidoc模板中定义的变量中

我已经在网上找了一段时间了,我似乎无法确定这是否可能,所以我希望有人能给我指出一些方向

我特别想知道是否可以通过编程将数据插入asciidoc模板,以便我可以使用它生成类似发票文档的内容。我已经看过了ascidoctorj,这似乎完成了生成ascidoc文件pdf的最后一步,这很好

我已经在文档中查找了asciidoc中的宏,但似乎找不到我想要的

我发现了一个使用latex的示例和一个名为JavaLaTeX报告的库,它允许您定义。包含以下内容的tex文件:

#foreach( $name in $services )
    \Fee{$name[0]} {$name[1]} {1} 
#end

然后从代码中的数据填充这些变量,并通过以下步骤处理模板:

ArrayList<ArrayList<String>> services = new ArrayList<ArrayList<String>>();

        ArrayList<String> subservice1 = new ArrayList<String>();
        ArrayList<String> subservice2 = new ArrayList<String>();
        ArrayList<String> subservice3 = new ArrayList<String>();

        subservice1.add("Software");
        subservice1.add("50");
        subservice2.add("Hardware1");
        subservice2.add("500");
        subservice3.add("Hardware2");
        subservice3.add("850");

        services.add(subservice1);
        services.add(subservice2);
        services.add(subservice3);      

        converter.replace("services", services);

        converter.parse(template, invoice1);

在latex中生成文本:

\Fee{Software} {50} {1} 
\Fee{Hardware1} {500} {1} 
\Fee{Hardware2} {850} {1} 

是否有一些库允许我为asciidoc做类似的事情?任何帮助都将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    通过我在网上发现的,没有办法在asciidoc中以本机方式实现LaTeX替代品所显示的功能。但是,使用像FreeMarker这样的模板语言进行变量绑定也可以获得类似的结果。由此产生的输出将是包含所有插入数据的asciidoc模板。您只需定义输出文件的扩展名,就可以参数化任何文件类型