fvhockney / latexcompiler
Laravel中用于用户提供数据的LaTeX编译器
v0.2.0
2018-06-25 11:18 UTC
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^6.0
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>
- 添加转义用户输入的功能
- 添加编译资产的功能
- 找到实现日志记录的更好方法
- 让用户有更多的日志记录控制权
- 添加上传到云的选项
合作
我很乐意听到您关于如何使此包更好的想法和意见!请随时与我联系,分支或提交拉取请求!