laravel使用phpword使用说明
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 anInchPoint"的简写,意思 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
当前名称:laravel使用phpword使用说明
标题来源:http://pwwzsj.com/article/jsepcg.html