php文件转为PPt,php使用COM组件 office文件(word/excel/ppt)转pdf文件

php7.0 - office2013  office_to_pdf

php开启dcom扩展

打开php.ini,搜索php_com_dotnet和php_com_dotnet:

extension=php_com_dotnet.dll   //把前面的分号去掉

com.allow_dcom = true  //改为true

重启服务

配置office组件服务

d806e5ba6e1641258f498e59df18540c.png

支持word

765a0a94316d824a85ba28c522fd541a.png

1de57ad1a1aaac088481dbe762748127.png

9fcd456f00d9c4e4232820055458cb61.png

5c877fda99e89c3d5f35f940135ecb6a.png

如果这种方式找不到可以使用另一种方式

7b482f5dcbe91287bea7efe2921965eb.png

d0bd1a8aa80a8dbe79d90a8fd0066583.png

1d41e9c209a9d4939ba66df08f5d98a8.png

其他步骤上面相同

支持excel和ppt

14c4ff45dedce3dc1c2b7edc813b1724.png

使用php操作文档生成pdf

/**

* @description: word转pdf

* @param srcfilename 要转换的word的全路径 E:/aa.doc

* @param destfilename 转换后的pdf的全路径 E:/aa.pdf

* @return:

*/

function doc_to_pdf($srcfilename,$destfilename) {

try {

if(!file_exists($srcfilename))return;

$word = new \COM("word.application") or die("Can't start Word!");

$word->Visible=0;

$word->Documents->Open($srcfilename, false, false, false, "1", "1", true);

$word->ActiveDocument->final = false;

$word->ActiveDocument->Saved = true;

$word->ActiveDocument->ExportAsFixedFormat(

$destfilename,

17, // wdExportFormatPDF

false, // open file after export

0, // wdExportOptimizeForPrint

3, // wdExportFromTo

1, // begin page

5000, // end page

7, // wdExportDocumentWithMarkup

true, // IncludeDocProps

true, // KeepIRM

1 // WdExportCreateBookmarks

);

$word->ActiveDocument->Close();

$word->Quit();

} catch (\Exception $e) {

if (method_exists($word, "Quit"))$word->Quit();

return;

}

}

/**

* @description: ppt转pdf

* @param srcfilename 要转换的ppt的全路径 E:/aa.doc E:/aa.ppt

* @param destfilename 转换后的pdf的全路径 E:/aa.pdf

* @return:

*/

function ppt_to_pdf($srcfilename,$destfilename) {

try {

if(!file_exists($srcfilename)){

return;

}

$ppt = new \COM("powerpoint.application") or die("Unable to instantiate Powerpoint");

$presentation = $ppt->Presentations->Open($srcfilename, false, false, false);

$presentation->SaveAs($destfilename,32,1);

$presentation->Close();

$ppt->Quit();

} catch (\Exception $e) {

if (method_exists($ppt, "Quit")){

$ppt->Quit();

}

return;

}

}

/**

* @description: excel转pdf

* @param srcfilename 要转换的excel的全路径 E:/aa.doc E:/aa.xls

* @param destfilename 转换后的pdf的全路径 E:/aa.pdf

* @return:

*/

function excel_to_pdf($srcfilename,$destfilename) {

try {

if(!file_exists($srcfilename)){

return;

}

$excel = new \COM("excel.application") or die("Unable to instantiate excel");

$workbook = $excel->Workbooks->Open($srcfilename, null, false, null, "1", "1", true);

$workbook->ExportAsFixedFormat(0, $destfilename);

$workbook->Close();

$excel->Quit();

} catch (\Exception $e) {

echo ("src:$srcfilename catch exception:" . $e->__toString());

if (method_exists($excel, "Quit")){

$excel->Quit();

}

return;

}

}

如果代码执行报错,将office设置为默认

文章来源于:https://blog.csdn.net/sangjinchao/article/details/78053545

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值