使用LaTex模板和Java创建PDF文件

问题描述 投票:-1回答:1

我需要使用LaTex模板和类似Java的编程语言创建报表系统。我使用JLR库,但它是免费软件,这是我的代码:

    File workingDirectory = new File("./config/output");
    File desktop = new File("./config/desktop");
    File invoice1 = new File("./config/templates/template1.tex");
    File invoice2 = new File("./config/templates/template2.tex");
    JLRGenerator pdfGen = new JLRGenerator();

    pdfGen.deleteTempTexFile(false);

    if (!pdfGen.generate(invoice1, desktop, workingDirectory)) { 
        System.out.println(pdfGen.getErrorMessage());
    }

    JLROpener.open(pdfGen.getPDF());

    if (!pdfGen.generate(invoice2, desktop, workingDirectory)) {
        System.out.println(pdfGen.getErrorMessage());
    }

    JLROpener.open(pdfGen.getPDF());

在Web上搜索我找到了JLatexMath,但据我所知,只在LaTex中生成方程而不是整个PDF。你知道Java中的库使用LaTex模板生成一个完整的PDF文件吗?

更新:我使用Runtime.getRuntime()。exec(“pdflatex.exe ...”)命令执行de .tex文件。但是我没有保存PDF文件。

提前致谢

java templates latex pdf-generation
1个回答
1
投票

我想我有解决方案,这里是代码:

public void generateReport()
{
Process p;
try {
    p = Runtime.getRuntime().exec("C:\\pdflatex.exe -synctex=1 -interaction=nonstopmode ./config/log/document.tex");
    p.waitFor();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

}

它会在.tex文件的同一位置生成.PDF和.dvi文件。非常感谢你的帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.