您好,登錄后才能下訂單哦!
laravel 使用 phpword使用說明
1 . 安裝環境
必須安裝
》=PHP 5.3.3 +
XML Parser extension
Zend\Escaper component
Zend\Stdlib component
Zend\Validator component
選擇性安裝:
Zip extension (Template模板需要的擴展)
GD extension
XMLWriter extension
XSL extension
dompdf library
注意:
1.phpword里面的 單位:twips.它是開源辦公軟件中最基本的計量單位,“緹”是"TWentieth of an Inch Point"的簡寫,意思 1/20磅,與其他常用劑量單位的換算是1緹=1/1,440英寸,1緹=1/567厘米,1緹=1/15像素
2 .zip擴展可以通過 sudo apt-get install php7.1-zip 來進行安裝。
2.composer 安裝依賴
項目composer直接新增依賴
"require": {
"phpoffice/phpword": "v0.13.*"
}
進行comoser update(composer版本過低 用 composer self-update)
3.使用方法
(1)加載phpword類 $PHPWord = new \PhpOffice\PhpWord\PhpWord(); (2)設置樣式 $PHPWord->addFontStyle( $styleName, $fontStyle); (3)添加頁面 $section = $PHPWord->addSection(); (4)添加文本 $section->addText( $text, [$fontStyle], [$paragraphStyle] ); (5)添加標題 $section->addTitle( $text, [$depth] ); (6)添加換行符 $section->addTextBreak(); (7)添加列表 $section->addListItem(); (8)添加超鏈接 $section->addLink( $linkSrc, [$linkName], [$styleFont], [$styleParagraph]); (9)添加圖片 $section->addImage( $src, [$style] );//參數二樣式只能傳數組,如 ['width'=>350, 'height'=>350, 'align'=>'center'] (10)添加表格 $table = $section->addTable( [$tableStyle] ); //添加行 $table->addRow( [$height] ); //添加單元格 $cell = $table->addCell(h, [$cellStyle]); (11)添加文檔頁眉 $header = $section->createHeader(); (12)添加文檔頁腳 $footer = $section->createFooter(); (13)加載模版文檔 $template = $PHPWord->loadTemplate('Template.docx'); //設置替換值 (只能替換純文本) $template->setValue('Name', 'Somebody someone'); $template->setValue('Street', 'Coming-Undone-Street 32'); 被搜索替換的標簽格式為: ${YOUR_SEARCH_PATTERN} (14)docx轉pdf //加載docx文檔 $phpWord = \PhpOffice\PhpWord\IOFactory::load('results/Sample_07_TemplateCloneRow.docx'); // 保存pdf文檔 $xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, "PDF"); $xmlWriter->save("results/Sample_07_TemplateCloneRow.pdf");
這里只列舉常用的幾個函數,其他可以參考下官方文檔。
4. 代碼例子:
$phpWord = new \PhpOffice\PhpWord\PhpWord(); // 新的頁面 $section = $phpWord->addSection(); // 簡單文本 $section->addTitle('CA重慶起止-阿聯酋7天5晚', 1); $section->addText('阿拉伯聯合酋長國(The United Arab Emirates),簡稱為阿聯酋,位于阿拉伯半島東部,北瀕波斯灣,西北與卡塔爾為鄰,西和南與沙特阿拉伯交界,東和東北與阿曼毗連海岸線長734公里,總面積83600平方公里,首都阿布扎比。!'); // 兩個換行符 $section->addTextBreak(2); $section->addText('第一天:請各位貴賓出發當日15:30于重慶江北國際機場集中,搭乘中國國際航空公司下午航班(CA451(1840/2215))前往迪拜。抵達后迪拜國際機場,照×××后(無須填入境卡)入境(過關時間約1.5小時)中文導游接機,后前往酒店入住休息'); $section->addTextBreak(); //超鏈接 $section->addLink('http://keketour.me', '可可兔首頁超鏈接'); $section->addTextBreak(); // 圖片 $section->addImage('http://img.keketour.comme/M00/00/06/CeT6ddHtg142.jpg', array('width'=>300, 'height'=>300)); // 保存文件 $writers = array('Word2007' => 'docx', 'ODText' => 'odt', 'RTF' => 'rtf', 'HTML' => 'html'); write($phpWord,'demo1', $writers);
docx文檔效果:
html網頁效果:
git地址:https://github.com/PHPOffice/PHPWord.git
參考資料:http://phpword.readthedocs.io/en/latest
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。