使用PHPWord生成word文档

作者 : 慕源网 本文共2158个字,预计阅读时间需要6分钟 发布时间: 2021-09-20 共273人阅读

有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑。PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档。

使用PHPWord生成word文档

  下载源码

 

  安装

 

我们使用Composer 来安装PHPWord。

 

composer require phpoffice/phpword

 

如何使用

 

  自动加载

 

安装好phpword后,新建一个php文档,引入autoload.php。

 

require ‘vendor/autoload.php’;

 

实例化

 

实例化并新增一个空白页。

 

$phpWord = new \PhpOffice\PhpWord\PhpWord();

 

$section = $phpWord->addSection();

 

添加文字内容

 

向空白页添加文字内容,可以设置文字的样式,包括字体、颜色、字号、粗体等等。

 

$fontStyle = [

 

‘name’ => ‘Microsoft Yahei UI’,

 

‘size’ => 20,

 

‘color’ => ‘#ff6600’,

 

‘bold’ => true

 

];

 

$textrun = $section->addTextRun();

 

$textrun->addText(‘你好,这是生成的Word文档。’, $fontStyle);

 

链接

 

可以为Word文档中的文字添加用于点击跳转的链接。

 

$section->addLink(‘https://www.helloweba.net’, ‘欢迎访问Helloweba’, array(‘color’ => ‘0000FF’, ‘underline’ => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE));

 

$section->addTextBreak();

 

 图片

 

可以在word中添加图片,如图片地址logo.png,尺寸为64×64。图片源也可以是远程图片。

 

$section->addImage(‘logo.png’, array(‘width’=>64, ‘height’=>64));

 

页眉

 

为Word文档添加页眉。

 

$header = $section->addHeader();

 

$header->addText(‘Subsequent pages in Section 1 will Have this!’);

 

 页脚

 

为word文档添加页脚,页脚内容是页码,格式居中。

 

$footer = $section->addFooter();

 

$footer->addPreserveText(‘Page {PAGE} of {NUMPAGES}.’, null, array(‘alignment’ => \PhpOffice\PhpWord\SimpleType\Jc::CENTER));

 

增加一页

 

继续增加一页,加入内容。

 

$section = $phpWord->addSection();

 

$section->addText(‘新的一页.’);

 

 表格

 

增加一个基础表格,可以设置表格的样式。

 

$header = array(‘size’ => 16, ‘bold’ => true);

 

$rows = 10;

 

$cols = 5;

 

$section->addText(‘Basic table’, $header);

 

$table = $section->addTable();

 

for ($r = 1; $r <= 8; $r++) {

 

$table->addRow();

 

for ($c = 1; $c <= 5; $c++) {

 

$table->addCell(1750)->addText(“Row {$r}, Cell {$c}”);

 

}

 

}

 

生成Word文档

 

如果你想生成word文档放在服务器上,可以使用:

 

$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, ‘Word2007’);

 

$objWriter->save(‘hellwoeba.docx’);

 

下载Word文档

 

如果你想直接下载Word文档,不在服务器上保存的话,可以使用:

 

$file = ‘test.docx’;

 

header(“Content-Description: File Transfer”);

 

header(‘Content-Disposition: attachment; filename=”‘ . $file . ‘”‘);

 

header(‘Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document’);

 

header(‘Content-Transfer-Encoding: binary’);

 

header(‘Cache-Control: must-revalidate, post-check=0, pre-check=0’);

 

header(‘Expires: 0’);

 

$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, ‘Word2007’);

 

$xmlWriter->save(“php://output”);

 


慕源网 » 使用PHPWord生成word文档

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录