fvhockney/latexcompiler

Laravel中用于用户提供数据的LaTeX编译器

v0.2.0 2018-06-25 11:18 UTC

This package is auto-updated.

Last update: 2024-09-29 05:08:24 UTC


README

该项目旨在为Laravel用户提供一种直观的方法,通过LaTeX以最小的痛苦创建PDF文档。

我利用blade模板来编写实际的LaTeX代码,并使用pdflatex进行编译。这允许使用{{ }}插入变量,并使用所有正常的blade命令。

安装

通过composer提供

composer require fvhockney/latexcompiler

配置

发布配置文件

php artisan vendor:publish --tag=fvlatex-config

这会将默认配置文件发布到config/fvlatex.php,您可以在其中修改默认首选项。

注意:日志会自动从供应商文件fvlatexlogchannel.php合并到默认的config/logging.php文件中,在boot时执行。

用法

此包与注入兼容。您可以使用流畅的接口传递必需和可选参数。

必需

  • ->with($data): (object|array) 将传递到模板中以填充
  • ->in($view): (string) 您希望用于创建.tex文档的视图的名称
  • ->complie($name): (string) 您想要使用的文件名称,不带任何扩展名

可选

  • ->runs($runs): (integer) 您希望pdflatex运行多少次,默认为配置,最初设置为2
  • ->storagePath($path): (string path) 覆盖配置中的默认存储路径...对于多用户系统非常有用
  • ->deletePdf()测试版 从存储路径删除PDF

创建内容

  • ->run(): 在构建目录中编译文档并将其移动到存储路径。然后拆除构建目录
  • ->fillTemplate(): 填充模板但不运行编译PDF的shell命令

获取结果

  • ->pdfUrl: 在->run()之后调用,以获取包含PDF文件名的存储位置
  • ->template: 在->run()->fillTemplate之后调用,以获取tex字符串

试用

包括示例控制器、tex模板视图和表单视图,以便您可以在设置中尝试此功能而无需浪费时间去编写表单和tex文件。只需将控制器复制到您的app/Http/Controllers,为表单设置GET路由,并将POST设置为控制器即可开始。

重要!!

请确保您已经在系统上安装了tex,并且提供了pdflatex的完整路径。

LaTeX可能相当挑剔,因此强烈建议您在部署之前在本地系统上广泛测试模板。此外,目前没有对用户输入进行转义,因此如果用户输入了TeX中的保留字符,它将不会自动转义并可能破坏编译序列。

待办事项

  • 添加到 <pakagist.org>
  • 添加转义用户输入的功能
  • 添加编译资产的功能
  • 找到实现日志记录的更好方法
  • 让用户有更多的日志记录控制权
  • 添加上传到云的选项

合作

我很乐意听到您关于如何使此包更好的想法和意见!请随时与我联系,分支或提交拉取请求!