wakeasp-inc/opentbs-bundle

OpenTBS Bundle for Symfony - 使用 Symfony 创建 OpenOffice 和 Ms Office 文档

安装次数: 4,430

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 24

类型:symfony-bundle

v3.13.1 2022-06-16 01:09 UTC

This package is not auto-updated.

Last update: 2024-09-19 12:47: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 或文本文件(OpenDocument 和 OpenXML 文档的情况就是这样)。

OpenTBS 的特别之处

  • 直接使用 OpenOffice 或 MS Office 设计模板。
  • 合并文档不需要 exe 文件。
  • 合并文档不需要临时文件。
  • 直接输出为 http 下载、磁盘上的新文件或字符串(例如文件附件)。
  • 与 PHP 4 和 PHP 5 都兼容。

包含的版本

TinyButStrong - 3.12.2

OpenTBS - 1.10.2

需求

  • Symfony2
  • PHP 至少需要 PHP 5.3.2 版本(对于 Symfony2)
  • 最好在您的 PHP 安装中启用 Zlib 扩展。如果没有,请在此处操作

安装

步骤 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 Wakeasp\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),但我不建议这样做,因为它只会在全球变量使用时才有效。

更多信息...

请阅读 TBS 手册 http://www.tinybutstrong.com/manual.php

以及 OpenTBS 插件文档 http://www.tinybutstrong.com/plugins/opentbs/tbs_plugin_opentbs.html