当前位置:首页 > 技术 > PHP > 正文内容

phpword 转换PDF笔记

Watrt4年前 (2020-09-05)PHP29850

1、首先安装composer

2、然后安装包:

composer require phpoffice/phpword

3、安装转换需求的包:

composer require Dompdf\Dompdf

4、由于中文支持不好,文档中没有中文字体所以要添加中文字体

该工具包的Git地址为:https://github.com/dompdf/utils

下载完成后,解压,复制其中的load_font.php文件到项目下的verdor/dompdf/dompdf目录下,与lib和src目录同级。

因为之前把该文件直接放在了dompdf目录下,因此需要其默认的加载autoloader的路径如下:

require_once "../../../vendor/autoload.php";

然后执行下面命令生成字体

D:\myproject\vendor\dompdf\dompdf> php load_font.php simsun D:\simsun.ttf

注意:命令中的字体名称simsun不要加引号,否则后续将不可用

如果字体安装成功,则可以在项目的vendor/dompdf/dompdf/lib/fonts目录中看到新生成的simsun.ttf及simsun.ufm文件。

5、开始写代码文件:

<?php
require __DIR__ . '/vendor/autoload.php';
use PhpOffice\PhpWord\IOFactory;
use PhpOffice\PhpWord\Settings;

// Make sure you have `dompdf/dompdf` in your composer dependencies.
Settings::setPdfRendererName(Settings::PDF_RENDERER_DOMPDF);
// Any writable directory here. It will be ignored.
Settings::setPdfRendererPath('vendor/tecnickcom/tcpdf');

$phpWord = IOFactory::load('d1.docx', 'Word2007');    //添加文件
$phpWord->setDefaultFontName('simfang'); 
//$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF');
//$xmlWriter->save('result.pdf');
$phpWord->save('document.pdf', 'PDF');
?>

下面是我使用到的文件:


utils-master.zip 字体生成工具

docx转PDF.part3.rar

docx转PDF.part2.rar

docx转PDF.part1.rar


分享给朋友:

相关文章

php 随机生成姓名

php 随机生成姓名

<?php /** * @param integer $sex 1 男 2 女 0 不限 * @param string $x 固定姓 * @param boolen $fx 是否加入复姓 true 是 false 否 * @return array&n...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。