PHPWord使用方法
阅读原文时间:2023年07月13日阅读:1

官方文档  github地址

一、安装

直接使用composer安装,链接地址

composer require phpoffice/phpword

二、简单使用

require_once 'PhpOffice/PhpWord/PhpWord.php'; // 包含头文件
use PhpOffice\PhpWord\Autoloader;
use PhpOffice\PhpWord\Settings;
use PhpOffice\PhpWord\IOFactory;

require_once __DIR__ . '/PhpOffice/PhpWord/Autoloader.php';
Autoloader::register();
Settings::loadConfig();

// Create a new PHPWord Object
$PHPWord = new \PhpOffice\PhpWord\PhpWord();
$PHPWordHelper= new \PhpOffice\PhpWord\Shared\Font();

$PHPWord->setDefaultFontName('仿宋'); // 全局字体
$PHPWord->setDefaultFontSize(16); // 全局字号为3号

// 设置文档的属性,这些在对文档右击属性可以看到,也可以省去这些步骤
$properties = $PHPWord->getDocumentProperties();
$properties->setCreator('张三'); // 创建者
$properties->setCompany('某公司'); // 公司
$properties->setTitle('某某文档'); // 标题
$properties->setDescription('http://wangye.org'); // 描述
$properties->setLastModifiedBy('李四'); // 最后修改
$properties->setCreated( time() ); // 创建时间
$properties->setModified( time() ); // 修改时间

// 添加3号仿宋字体到'FangSong16pt'留着下面使用
$PHPWord->addFontStyle('FangSong16pt', array('name'=>'仿宋', 'size'=>16));

// 添加段落样式到'Normal'以备下面使用
$PHPWord->addParagraphStyle(
'Normal',array(
'align'=>'both',
'spaceBefore' => 0,
'spaceAfter' => 0,
'spacing'=>$PHPWordHelper->pointSizeToTwips(2.8),
'lineHeight' => 1.19, // 行间距
'indentation' => array( // 首行缩进
'firstLine' => $PHPWordHelper->pointSizeToTwips(32)
)
)
);

// Section样式:上3.5厘米、下3.8厘米、左3厘米、右3厘米,页脚3厘米
// 注意这里厘米(centimeter)要转换为twips单位
$sectionStyle = array(
'orientation' => null,
'marginLeft' => $PHPWordHelper->centimeterSizeToTwips(3),
'marginRight' => $PHPWordHelper->centimeterSizeToTwips(3),
'marginTop' => $PHPWordHelper->centimeterSizeToTwips(3.5),
'marginBottom' => $PHPWordHelper->centimeterSizeToTwips(3.8),
'pageNumberingStart' => 1, // 页码从1开始
'footerHeight' => $PHPWordHelper->centimeterSizeToTwips(3),
);

$section = $PHPWord->addSection($sectionStyle); // 添加一节

// 下面这句是输入文档内容,注意这里用到了刚才我们添加的
// 字体样式FangSong16pt和段落样式Normal
$section->addText('文档内容', 'FangSong16pt', 'Normal');
$section->addTextBreak(1); // 新起一个空白段落

$objWriter = IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save('/path/to/file'); // 保存到/path/to/file路径下

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章