內容目錄
什麼是 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,它將為你帶來極大的便利!
近期留言