PHP将PPT文件转成图片

PHP 安装COM组件

注意:php版本>5.3.15,需要保证ext文件夹下有php_com_dotnet.dll 并在php.ini中加入,如果是Windows系统,切记要有office服务!!!

extension=php_com_dotnet.dll

php.ini中搜索并去除com.allow_dcom = true前面的‘;’

com.allow_dcom = true

项目函数库写入下面代码

/**
 * @package ppt文档转换图片
 * @author  自然
 * @param   string      $filepath PPT文档绝对路径 D:/test/test.pptx
 * @param   int 		$width    图片宽度
 * @param   int         $height   图片高度
 * @return  array
 */
function ppt_turn_photo($filepath='', $width=600, $height=400)
{
	$data = array();
	$powerpnt = new COM("powerpoint.application") or die("Unable to instantiate Powerpoint");
	$presentation = $powerpnt->Presentations->Open($filepath, false, false, false) or die("Unable to open presentation");
	foreach($presentation->Slides as $slide)
	{
		//文件名,同一个附件重复则覆盖
		$slideName = md5($filepath) . "_" . $slide->SlideNumber;
		//保存文件夹
		$uploadsFolder = "uploads/ppt_image/" . date('Ymd') . '/';
		//保存的绝对路径
		$exportFolder = ROOT_PATH . $uploadsFolder;
		if (!file_exists($exportFolder)) mkdir($exportFolder, 0777, true);
		//保存到本地
		$imagePath = $exportFolder.$slideName.".jpg";
		$slide->Export($imagePath, "jpg", $width, $height);
		//输出图片相对路径到数组并返回
		$imagePath = '/'.str_replace(ROOT_PATH, "", $imagePath);
		$data[] = $imagePath;
	}
	$presentation->Close();
	$powerpnt->Quit();
	$powerpnt = null;

	return $data;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值