mklocke/docnamic

文档模板引擎

dev-master 2017-10-15 18:11 UTC

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 呢?

    由于这是一个相当简单的模板引擎,它没有语言、国家或货币的概念。这应由集成应用程序负责。

灵感来自