用 PHP 輸出 odf / ods 文件

symfony 是一個 PHP 程式的開發 framework 框架
前幾天找資料時..發現有個它外掛的小元件
可以用來輸出 odt / ods 等OpenOffice.Org 的檔案
實際的試用了一下..感覺的還不錯
比起目前在學籍系統內的作法方便些

它的用法有點像使用Smarty 的方式
您可以任意的編寫一個 odt / ods的檔案當範本
加入適當的標記,就可以透過這個範本
直接輸出 odt / ods  的檔案供您下載

這個 for PHP5.2以上 的 class的用法也相當的易學

 

1.先引入兩個物件檔
  // libs
  include('your-path-to-lib/tinyButStrong.class.php');
  include('your-path-to-lib/tinyDoc.class.php');

2.建立新的文件物件  

// create the document
   $doc = new tinyDoc();
   $doc->setZipMethod('ziparchive');    

3.設定暫存檔目錄
  $doc->setProcessDir('./tmp');


4.設定讀取的文件樣本
  $doc->createFrom('templates/your-document.odt');
  $doc->loadXml('content.xml');

5.進行標記與資料替換(有固定名稱及區塊兩種用法)
  $doc->mergeXmlField('field1', $variable);
  $doc->mergeXmlField('field2', array('id' => 55, 'name' => 'bob'));
  $doc->mergeXmlBlock('block1',
    array(
      array('firstname' => 'John'   , 'lastname' => 'Doe'),
      array('firstname' => 'Douglas', 'lastname' => 'Adams'),
      array('firstname' => 'Roger'  , 'lastname' => 'Waters'),
    )
  );
  $doc->saveXml();
  $doc->close();

 6.輸出文件並刪除暫存檔
  // send and remove the document
  $doc->sendResponse();
  $doc->remove();


如果您對這個物件有興趣
可以參訪下面網址
http://tinydoc.unesolution.fr/

在原網站中您可以看到更多使用範例
http://tinydoc.unesolution.fr/examples

標籤: PHP
評論: 0 | 引用: 0 | 閱讀: 5983
發表評論
暱 稱(*): 密 碼:
網 址: E - mail:
驗證碼(*): 驗證碼圖片 選 項:
頭 像:
內 容(*):
  • 粗體
  • 斜體
  • 底線
  • 插入圖片
  • 超連結
  • 電子郵件
  • 插入引用