mbence / opentbs-bundle
OpenTBS Bundle for Symfony - 使用 Symfony 创建 OpenOffice 和 Ms Office 文档
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-25 11:11:42 UTC
README
此包只是使用 OpenTBS 的便捷方式,所有荣誉归 Skrol29 和 TinyButStrong 团队所有。 http://www.tinybutstrong.com/
OpenTBS - 使用 PHP (和 Symfony) 创建 OpenOffice 和 Ms Office 文档
简介
(摘自 http://www.tinybutstrong.com/plugins/opentbs/tbs_plugin_opentbs.html)
OpenTBS 是一个 PHP 工具,使用模板可以生成任何 OpenOffice 和 Ms Office 文档。
OpenTBS 可以合并任何 OpenDocument 和 Open XML 文件。它自动识别扩展:odt、ods、odg、odf、odm、odp、ott、ots、otg、otp、docx、xlsx、pptx。实际上,它可以合并任何存储在 zip 容器中的 XML 或文本文件(这是 OpenDocuments 和 OpenXML 文档的情况)。
OpenTBS 的特别之处
- 直接使用 OpenOffice 或 MS Office 设计模板。
- 合并文档不需要任何 exe 文件。
- 合并文档不需要任何临时文件。
- 直接输出为 http 下载、磁盘上的新文件或字符串(例如文件附件)。
- 与 PHP 4 和 PHP 5 都兼容。
包含版本
TinyButStrong - 3.10.1
OpenTBS - 1.9.7
要求
安装
步骤 0: 安装 Composer
步骤 1: 使用 Composer 下载包
> composer require mbence/opentbs-bundle
Composer 将将包安装到您的项目目录 vendor/mbence/opentbs-bundle
。
步骤 2: 在您的 AppKernel 中启用包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new MBence\OpenTBSBundle\OpenTBSBundle(), ); }
现在您可以使用 'opentbs' 服务。
使用 OpenTBSBundle
首先,您需要在您的 docx 模板中定义变量(您可以使用任何其他支持的文档格式)。
... some text in a word file with a `[client.name]` variable ...
在 TBS 中,您始终需要一个变量基础 client
和一个变量名 name
。
然后在您的控制器中,您需要获取 OpenTBS 服务,加载您的模板并合并字段(例如,替换模板变量)。
// get the service $TBS = $this->get('opentbs'); // load your template $TBS->LoadTemplate('template.docx'); // replace variables $TBS->MergeField('client', array('name' => 'Ford Prefect')); // send the file $TBS->Show(OPENTBS_DOWNLOAD, 'file_name.docx');
关于 onshow 自动变量的说明:您可以在 onshow
基础内定义变量(例如 onshow.name
),但我不建议这样做,因为它只会在您使用全局变量时才起作用。
更多信息...
请参阅 http://www.tinybutstrong.com/manual.php 中的 TBS 手册
以及 OpenTBS 插件文档 http://www.tinybutstrong.com/plugins/opentbs/tbs_plugin_opentbs.html