Views: 3
內容目錄
什麼是 OpenTBS?
OpenTBS(Open Template-Based Substitution)是一個基於 PHP 的插件,允許開發者使用 OpenTBS 在 Office Open XML(如 .docx
、.xlsx
、.pptx
)以及 OpenDocument 格式(如 .odt
、.ods
、.odp
)的範本中動態插入數據。它基於 TBS(TinyButStrong)引擎,並提供了一種靈活且易於使用的方法來生成動態文件。
為何選擇 OpenTBS?
- 無需額外安裝 Office 軟體:OpenTBS 直接操作 Office 文件格式,無需安裝 Microsoft Office 或 LibreOffice。
- 輕量級:僅需一個 PHP 文件,即可輕鬆集成到現有項目。
- 模板驅動:允許使用標準的 Office 應用程式來設計範本,無需學習額外的標記語言。
- 支持多種格式:可處理
.docx
、.xlsx
、.pptx
、.odt
等格式,適用於多種場景,如報表、合同、發票等。
安裝 OpenTBS
OpenTBS 是一個 PHP 插件,可通過下載或使用 Composer 來安裝。
下載 Zip 檔
- 前往 官方網站 下載
tbs_class.php
和tbs_plugin_opentbs.php
。 - 將這兩個文件放入你的 PHP 項目中。
基本使用方法
以下是使用 OpenTBS 生成 Word(.docx
)文件的基本示例。
1. 建立 Word 範本
在 Word (.docx
) 文件中,使用 []
來標記動態數據,例如:
2. 編寫 PHP 代碼
require_once('tbs_class.php'); require_once('tbs_plugin_opentbs.php'); // 創建 TBS 實例 $TBS = new clsTinyButStrong; $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // 載入範本文件 template = 'template.docx'; $TBS->LoadTemplate($template, OPENTBS_ALREADY_UTF8); // 設定變數 $data = array( 'company_name' => 'ABC 公司', 'date' => date('Y-m-d'), 'client_name' => '王小明' ); $TBS->MergeField('var', $data); // 輸出生成的文件 $output_file = 'output.docx'; $TBS->Show(OPENTBS_DOWNLOAD, $output_file); exit;
圖片的進階用法
在 Word 模板中設定圖片
打開 Word (.docx
) ,選擇一張要被替換的圖片,
設定 TBS 標籤(放入圖片的「替代文字」區域):
選取圖片 → 右鍵 → 圖片格式在「替代文字」欄位輸入以下內容:
[img.user_logo;ope=changepic]
pic
是變數名稱,稍後在 PHP 代碼中會用到,這樣 OpenTBS 就知道這張圖片要被替換!
使用 OPENTBS_CHANGE_PICTURE
手動更換圖片
其他參數
要根據原始圖片的框架大小設計的話可以使用
其他 adjust
參數:
參數 | 說明 |
---|---|
adjust=inside | 圖片自動調整以適應框架(推薦) |
adjust=samewidth | 圖片的寬度與模板圖片相同 |
adjust=sameheight | 圖片的高度與模板圖片相同 |
adjust=100% | 圖片維持原始大小 |
範例
[onshow.pic;ope=changepic;adjust=samewidth;default=current;tagpos=inside]
特殊關鍵字
onshow : 會直接使用php中的同名變數做替換
結論
OpenTBS 是一個強大且輕量的 PHP 插件,能夠讓開發者方便地生成 Word、Excel、PowerPoint 等格式的動態文件,特別適用於報表生成、合約填寫、數據輸出等應用場景,如果你的項目需要動態生成 Office 文檔,可以試試 OpenTBS,它將為你帶來極大的便利!
近期留言