open-administration/php-latex-renderer
Composer 安装命令:
composer require open-administration/php-latex-renderer
包简介
Renders LaTeX Templates in PHP
README 文档
README
wraps latex rendering and generating with twig templates. This library does
- using twig for latex templating
- inserting user data into latex templates
- escaping user data, so no (new) latex commands can be introduced by userdata
- renders latex file and returns pdf
- has compact latex error logs
Installation
Installation via composer is suggested
composer require open-administration/php-latex-renderer
Usage
require './vendor/autoload.php'; $tex = new LatexRenderer('./templates/'); // <- dir where to search the templates $tex->setTmpDir('./runtime/'); // <- where to build the latex files $pdf = $tex->renderPdf('simple-report', [ // <- which template to use (file ending .tex.twig) 'title' => 'My Custom Title', // <- variables to set 'author' => 'Me!', ]); // output / save the pdf with file_put_contents('main.pdf', $pdf); // or echo with fitting header header("Content-type:application/pdf"); echo $pdf;
Twig options
The following symbols are used for twig templating
$options = [ 'tag_block' => ['(%', '%)'], 'tag_comment' => ['(!', '!)'], 'tag_variable' => ['((', '))'], ];
due to {{, {# and {% are too common in regular latex code. Be carefull with (( it is easy to use it in calculations as well. You can use
$tex->setTwigLexer($options)
for custom variants.
Meta Twig Context
There is a new introduced global variable _tex, which can be used everywhere and is defined like:
$this->twig->addGlobal('_tex', [ 'files' => $fileNames, // with name.pdf => files/name.pdf (local path in dir) 'dir' => $tmpDir . "tex/$templateName/$uid/", 'template' => $twigTemplateName, ]);
Example: _tex.dir
Try the sample
php -f samples/simple-report.php
Examples
You can find some real world examples in the samples Folder
Contribute
Please run
composer cs-fix
and commit the changes in an extra commit before doing a pull request
open-administration/php-latex-renderer 适用场景与选型建议
open-administration/php-latex-renderer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.53k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2021 年 11 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 open-administration/php-latex-renderer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 open-administration/php-latex-renderer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1.53k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-11-11