使用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文件的主要内容,如果未能解决你的问题,请参考以下文章