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

phpword 转换PDF笔记

Watrt5年前 (2020-09-05)PHP35840

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提取方法注释

1.注释格式<?php     /**      * @method 发送邮件      * @url    email/send?token=xxx      * @http  POST &n...

密钥用法 增强密钥用法 证书类型

密钥用法 增强密钥用法 证书类型

密钥用法:数字签名 Digital Signature认可签名 Non Repudiation密钥加密 key Encipherment数据加密 Data Encipherment密钥协商 key Agreement证书签名 Key CertSignCRL 签名 Crl Sign仅仅加密 Encipher Only仅仅解密 Decipher OnlyOpenSSL密钥用法:数字签名 digitalSignature认可签名 nonRepudiation密钥加密 keyEncipherment数据...

php.ini 中文版

php.ini 中文版

;;;;;;;;;;;;;;;;; ;; 关于php.ini ;; ;;;;;;;;;;;;;;;;; ; 它必须被命名为'php.ini',PHP会在初始化的时候按如下顺序进行搜索(搜到即停): ; 1. SAPI模块指定的位置: ;     (a)Apache httpd.conf中的PHPINIDir指令指定的目录中 ;   ...

常用正则表达式

常用正则表达式

中文字符:[\u4e00-\u9fa5]双字节字符:[^\x00-\xff]空白行:\sEmail地址:\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}网址URL:^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+手机(国内):0?(13|14|15|18|17)[0-9]{9}电话号码(国内):[0-9-()()]{7,18}负浮点数:-([1-9]\d*.\d*|0\.\d*[1-9]\d*)匹配整数:...

php 随机生成姓名

php 随机生成姓名

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

发表评论

访客

看不清,换一张

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