发布网友 发布时间:2022-04-24 23:49
共2个回答
懂视网 时间:2022-04-06 06:18
php将doc文件转为pdf文件的方法:1、编辑php.ini文件,添加【extension=php_com_dotnet.dll】;2、配置office组件服务;3、利用ExportAsFixedFormat函数转换文件即可。
具体方法:
(推荐教程:php视频教程)
1、修改php.ini
添加:extension=php_com_dotnet.dll
去除注释:com.allow_dcom = true
重启环境
2、配置office支持
安装微软office套件。(office 2007 需要手动安装 `Microsoft Save as PDF and XPS`)
配置office组件服务
win+R打开运行菜单,输入dcomcnfg 找到 [组件服务] —— [计算机]—— [我的电脑] —— [DCOM配置] —— [Microsoft Wrord 97-2003文档]右键 [Microsoft Wrord 97-2003文档] 设置属性 [标识] 为 [交互式用户]
代码实现:
/** * @desc xmsb_wordToPdf 将word转换为pdf * @param string $wordPath word原文件路径 * @param string $outPath pdf输出路径 * @return string */ function xmsb_wordToPdf($wordPath, $outPath) { // 原文件不存在则返回错误 if(!file_exists($wordPath)) { return 'word原文件不存在'; } // 输出目录不存在则创建目录 if(!file_exists($tmpPath = rtrim($outPath, basename($outPath)))) { mkdir($tmpPath, 0777, true); } $filenamedoc = dirname(__FILE__)."/".$wordPath; $filenamepdf = dirname(__FILE__)."/".$outPath; // 删除已有同名文件 if(file_exists($filenamepdf)) { unlink($filenamepdf); } // 执行转换操作 $word = new COM("word.Application") or die("Could not initialise Object"); $word->Documents->Open($filenamedoc); $word->ActiveDocument->ExportAsFixedFormat($filenamepdf, 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false); $word->Quit(false); unset($word); // 在页面中显示生成的pdf // header('Content-type: application/pdf'); // header('filename='.$filenamepdf); // readfile($filenamepdf); return '转换成功'; } // 测试运行 echo xmsb_wordToPdf('./word/word1.docx', './pdf/output1.pdf');
热心网友 时间:2022-04-06 03:26
如果是可以打印,就可以使用虚拟打印机来处理:
方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:用其他虚拟打印机转成PDF文件。
方法三:使用专门的转换软件,把文件转成PDF文件。
实在不能打印,还可以截屏嘛,然后按照下面的方法做出PDF的:
方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:使用FreePic2Pdf软件,进行批量转换;
方法三:用其他虚拟打印机转成PDF文件。