phpstudy安装Composer,用Composer安装PHPWord库
第一步:安装Composer第二步:安装完成后,复制 composer 安装目录下的文件 composer.phar,到 php 安装目录第三步:在 php 安装目录,创建一个 composer.bat 文件(注意文件属性)然后在文件中,填入的信息为:@php "%~dp0composer.phar" %*第四步:打开电脑的环境配置界面,添加系统变量,参考如下截图第五步:打
第一步:安装Composer
第二步:安装完成后,复制 composer 安装目录下的文件 composer.phar,到 php 安装目录
第三步:
在 php 安装目录,创建一个 composer.bat 文件(注意文件属性)
然后在文件中,填入的信息为:@php "%~dp0composer.phar" %*
第四步:打开电脑的环境配置界面,添加系统变量,参考如下截图
第五步:
打开cmd,执行指令:composer -v
结果显示如下:
如果显示不出来,可以这样操作:在php的安装下,按住shift键的同时,单击鼠标右键,进入powershell,再输入 composer -v 就行了
第六步:接下来安装phpword库
查找所有phpoffice/phpword版本,打开命令提示符窗口,然后输入命令:
composer show --all phpoffice/phpword
如果提示 Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/(已弃用对 Composer 1 的支持,并且某些软件包将不可用。您应该升级到 Composer 2)
使用命令 composer self-update 更新一下composer版本,再重新上一步的操作
第七步:使用 composer require phpoffice/phpword 命令,安装 PHPWord的最新的成熟版本
查看官方网址:https://github.com/PHPOffice/PHPWord/
安装完成后,会在当前的php目录下生成vendor 文件夹
复制vendor文件夹到你的php项目中去,在使用到里面的库时加上引用(即引用vendor下的autoload.php文件):
require './vendor/autoload.php'; 然后PHPWord就可以正常使用了。
以上就是一些操作步骤的整理,暂时就这么多,后续有新的继续补充
好了,接着上面的继续补充:
使用phpword将word转换成pdf,html等,word转html比较容易,代码如下:
require './vendor/autoload.php';
$phpWord = \PhpOffice\PhpWord\IOFactory::load('35.docx');
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'HTML');
$pdfdoc = 'example2.html';
$xmlWriter->save($pdfdoc);
echo "转换成功!";
word转pdf就比较麻烦了,需要先安装mpdf库,使用composer 命令 composer require mpdf/mpdf 安装
安装好后所有文件会在当前php目录的vendor文件夹下,直接将整个vendor文件夹替换到项目中的vendor文件夹,然后再代码中还需要指定mpdf的绝对路径,
同时还需要加一句解除limit限制的语句,完整代码如下:
ini_set("pcre.backtrack_limit","5000000");
require './vendor/autoload.php';
$PdfPath = realpath($_SERVER['DOCUMENT_ROOT']. '/vendor/mpdf/mpdf');
\PhpOffice\PhpWord\Settings::setPdfRendererPath($PdfPath);
\PhpOffice\PhpWord\Settings::setPdfRendererName('MPDF');
$phpWord = \PhpOffice\PhpWord\IOFactory::load('35.docx');
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'PDF');
$pdfdoc = 'example2.pdf';
$xmlWriter->save($pdfdoc);
echo "转换成功!";
转换完成后,你又会惊喜的发现,转换完后的pdf文件,中文是乱码,哦吼,这尼玛真是一波三折,这时,你需要打开mpdf文件夹里面的ConfigVariables.php,将里面的
autoScriptToLang和autoLangToFont修改成true,修改完成后,再转换一次,就不会乱码了
这次就补充这么多