mbence/opentbs-bundle

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

安装次数: 118,553

依赖者: 0

建议者: 0

安全: 0

星级: 27

关注者: 3

分支: 25

开放问题: 3

类型:symfony-bundle

v1.9.7 2016-09-13 09:04 UTC

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

要求

  • 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 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