mklocke / docnamic
文档模板引擎
Requires (Dev)
- phpmd/phpmd: ^2.6.0
- squizlabs/php_codesniffer: ^3.0
This package is not auto-updated.
Last update: 2024-09-29 05:07:57 UTC
README
Docnamic 是一个基于 PHP 的 DOM 和 ZIP 扩展的 OpenDocument 文件 (*.odt) 模板引擎。我的目标是提供一个简单的文档生成库,其模板可以使用标准的 WYSIWYG OpenDocument 软件轻松创建。我对这个库是否对任何人有用很感兴趣,并且我会感谢任何在 GitHub 或通过电子邮件的反馈。
请注意,公共 API 尚未被认为是稳定的。
一旦我对内部类接口有信心,我将添加测试。
要求
- PHP 5.6 或更高版本
- DOM 扩展
- ZIP 扩展
安装
使用 composer 安装此库。
$ composer require mklocke/docnamic
用法
查看 examples
文件夹,其中包含库应该如何使用的示例。
$renderer = new Renderer(); $renderer->loadTemplate('template.odt') ->setData(['foo' => 'bar']) ->render('result.odt');
转换为 PDF
生成的 OpenDocument 文件可以使用大多数 Linux 发行版上的 unoconv
CLI 工具轻松转换为 PDF。
在 Ubuntu 上的安装: sudo apt-get install unoconv
将 ODT 文件转换为 PDF: unoconv -f pdf -o result.pdf result.odt
常见问题解答
-
我能否使用条形码或 QR 码?
是的,您可以通过在文档模板中使用条形码字体来实现。OpenDocument 文件可以包含嵌入的字体。如果您使用 LibreOffice 创建文档模板,请阅读他们的关于 嵌入字体 的帮助页面。
-
我能否在我的文档模板中使用嵌套循环?
目前不支持嵌套循环。
-
我能否使用动态图片?
目前不支持动态图片。
-
关于编码怎么办?
由于 OpenDocument 是基于 UTF-8 的 XML 文件格式,因此您的数据也应使用 UTF-8 编码;)
-
关于 i18n 或 l10n 呢?
由于这是一个相当简单的模板引擎,它没有语言、国家或货币的概念。这应由集成应用程序负责。