ezprint/docnamic

文档模板引擎

1.0.0.3 2020-09-04 10:19 UTC

This package is not auto-updated.

Last update: 2024-09-28 04:00:25 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 呢?

    由于这是一个相对简单的模板引擎,它没有关于语言、国家或货币的概念。这应该由集成应用程序来处理。

灵感来源于