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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用LaTex模板和Java创建PDF文件相关的知识,希望对你有一定的参考价值。

我需要使用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文件。

提前致谢

答案

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

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文件。非常感谢你的帮助:)

以上是关于使用LaTex模板和Java创建PDF文件的主要内容,如果未能解决你的问题,请参考以下文章

从模板生成PDF的最佳方法[关闭]

LaTex实战笔记 1-快速入门

latex 模板怎么使用

合肥工业大学Linux实验二Latex 科技论文排版

合肥工业大学Linux实验二Latex 科技论文排版

合肥工业大学Linux实验二Latex 科技论文排版