PHP LaTeX到PDF的转换/编译

PHP LaTeX到PDF的转换/编译,php,pdf,latex,tex,Php,Pdf,Latex,Tex,我已经搜索了很多地方,想找到一个基于PHP的工具来将LaTeX转换为PDF,但没有成功。我知道LaTeX在服务器端运行,但是我仍然需要基于PHP的命令过程,以便使用LaTeX生成上述PDF文件 编辑 此外,在服务器上安装二进制文件、库或工具是不可能的。我使用的工具是PHP及其内置功能。任何可以将LaTex转换为PDF的类或PHP工具都非常有用 任何指导都将不胜感激。我刚刚安装了包texlive二进制文件,并使用shell exec和pdflatex命令从(La)TeX文件生成PDF: 我知道这不

我已经搜索了很多地方,想找到一个基于PHP的工具来将LaTeX转换为PDF,但没有成功。我知道LaTeX在服务器端运行,但是我仍然需要基于PHP的命令过程,以便使用LaTeX生成上述PDF文件

编辑

此外,在服务器上安装二进制文件、库或工具是不可能的。我使用的工具是PHP及其内置功能。任何可以将LaTex转换为PDF的类或PHP工具都非常有用


任何指导都将不胜感激。

我刚刚安装了包
texlive二进制文件
,并使用shell exec和
pdflatex
命令从(La)TeX文件生成PDF:

我知道这不是您要求的,但我不知道有哪一个php库像现有的latex编译器那样完整

为什么要重新发明轮子呢


更新:当您有足够的空间时,安装
textlive full
而不是
texlive二进制文件
。这将安装所有可用的软件包、字体等,并避免您因文档呈现错误而感到头痛。

如果您无法将服务器设置更改为安装LaTeX服务器软件包,则无法将LaTeX文件转换为PDF

但是,您可以检查什么来直接转换为PDF而不使用LaTeX,但这取决于您想要完成什么?这可能是值得一看的……

这就是我的例子: 名称:phplatex.php

<?php
$data = shell_exec('/Library/TeX/texbin/pdflatex --interaction=nonstopmode -output-directory=/Users/arico/a/destino /Users/arico/a/fuente/prueba.tex');
echo ('Latex: ' . $data . '');
?>


pdflatex可执行文件的路径: /库/TeX/texbin/pdflatex

pdf格式的输出文件路径:(您需要写入权限) -输出目录=/Users/arico/a/destino

latex中源文件的路径:
/Users/arico/a/fuente/prueba.tex

如何在窗口和linux服务器上安装texlive二进制文件?在debian linux上,您只需执行
sudo apt获得安装texlive二进制文件
。在windows系统上,请按照上的说明进行操作,我无法在服务器环境中完成此任务。我使用的工具是PHP及其功能。除非有一些类或PHP工具可以将LaTex转换为PDF,否则恐怕这没有帮助。使用shell_exec()是一个安全问题。小心。@josh122a123不,不是。传递未过滤的用户输入是您正在考虑的安全问题。这同样适用于数据库查询、所有类型的文件操作或任何其他类型的特权访问,即后端API调用。使用shell_exec()本身不是一个安全问题。LaTeX不会转换为PDF,而是经过编译的。只需在服务器端的临时文件上使用
pdflatex
编译器即可。。存在;你可能不想问。我已经研究了fpdf,正如我前面的问题所示:我可以编写一个脚本来将XML转换为LaTeX,我只是试图找到一种输出LaTeX碰巧提供的某些特性的方法。所以现在我想到了一个问题:使用LaTeX的原因是什么?你需要LaTeX的哪些功能?LaTeX有一个内置的
剧本类,正如@Blender所指出的,它具有某些难以重新创建的功能。LaTeX提供了一个更简单的解决方案(如我前面的问题所述)。好的。我知道LaTeX,所以您需要在服务器上安装一个LaTeX系统才能使用它。这就是重点。似乎没有办法绕过它。
<?php
$data = shell_exec('/Library/TeX/texbin/pdflatex --interaction=nonstopmode -output-directory=/Users/arico/a/destino /Users/arico/a/fuente/prueba.tex');
echo ('Latex: ' . $data . '');
?>