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

phpword 转换PDF笔记

watrt10个月前 (09-05)PHP3910

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


分享给朋友:

相关文章

常用正则表达式

常用正则表达式

中文字符:[\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 MVC划分规则

PHP MVC划分规则

     今天看了看以前的代码,发现control胖,而model轻,专门去找相关资料学习下     原则:胖model,瘦controller,只要是与业务有关的,就该放在Model里面一、controller 控制器,里应该放哪些东西    1.用户请求相关,如$_POST,$_GET,不应该对数据做任何处理    2.和model连接  &n...

PHP正则表达式使用详解

PHP正则表达式使用详解

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。    可以通过在一对分隔符之间放入表达式模式的各种组件来构造一个正则表达式,即/expression/    普通字符    由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号。 ...

php.ini 中文版

php.ini 中文版

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

发表评论

访客

看不清,换一张

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