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

phpword 转换PDF笔记

Watrt4年前 (2020-09-05)PHP29310

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正则表达式使用详解

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

php 随机生成姓名

php 随机生成姓名

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

发表评论

访客

看不清,换一张

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