php imagick 取得psd缩略图,PHP利用imagick读取PDF生成png缩略图的两种方法
PHP利用imagick读取PDF生成png缩略图的两种方法
发表于2019-04-24 06:08|
次阅读|
来源网络整理|
作者session
摘要:PHP利用imagick读取PDF生成png缩略图的两种方法
PHP利用imagick读取PDF生成png缩略图的两种方法
这篇文章次要引见了PHP利用imagick读取PDF第一页生成png缩略图的两种方法,利用了PHP扩充php_imagick,需求的冤家可能参考下
一、ImageMagick是什么
ImageMagick是一套性能强大、稳固而且免费的工具集和开发包,可能用来读、写和解决超过185种根本格式的图片文件,包括盛行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。应用ImageMagick,你可能依据web运用程序的需求动态生成图片, 还可能对一个(或一组)图片停止扭转大孝旋转、锐化、增色或添加特效等操作,并将操作的后果以相反格式或其它格式保存。
二、php_imagick什么
一个可能供PHP调用ImageMagick性能的PHP扩充。利用这个扩充可能使PHP具有和ImageMagick相反的性能。
三、PDF生成png缩略图的两种方法
第一种:
代码如下:/**
* PDF2PNG
* @param $pdf 待解决的PDF文件
* @param $path 待保存的图片门路
* @param $page 待导出的页面 -1为全副 0为第一页 1为第二页
* @return
保存好的图片门路和文件名
*/
function pdf2png($pdf,$path,$page=0)
{
if(!is_dir($path))
{
mkdir($path,true);
}
if(!extension_loaded('imagick'))
{
echo '没有找到imagick!' ;
return false;
}
if(!file_exists($pdf))
{
echo '没有找到pdf' ;
return false;
}
$im = new Imagick();
$im->setResolution(120,120); //设置图像分辨率
$im->setCompressionQuality(80); //紧缩比
$im->readImage($pdf."[".$page."]"); //设置读取pdf的第一页
//$im->thumbnailImage(200, 100, true); // 扭转图像的大小
$im->scaleImage(200,100,true); //缩放大小图像
$filename = $path."/". time().'.png';
if($im->writeImage($filename) == true)
{
$Return = $filename;
}
return $Return;
}
$s = pdf2png('file/1371273225-ceshi_ppt.pdf','images');
echo '
';
第二种:
代码如下:function pdf2png($PDF,$Path){
if(!extension_loaded('imagick')){
return false;
}
if(!file_exists($PDF)){
return false;
}
$IM = new imagick();
$IM->setResolution(120,120);
$IM->setCompressionQuality(100);
$IM->readImage($PDF);
foreach ($IM as $Key => $Var){
$Var->setImageFormat('png');
$Filename = $Path.'http://www.yhzhan.com/'.md5($Key.time()).'.png';
if($Var->writeImage($Filename) == true){
$Return[] = $Filename;
}
}
return $Return;
}
php imagick 取得psd缩略图,PHP利用imagick读取PDF生成png缩略图的两种方法相关推荐
- 利用多线程爬虫搭建代理ip池的两种方法(含源码)
搭建爬虫代理ip池的两种方法(含源码) 前言 一.ip池是什么? 二.爬取原理 三.使用步骤 方法一 爬取网站https://www.kuaidaili.com/ 验证 存取到mysql 方法二 爬取 ...
- 利用ENVI和ARCGIS做相关性分析的两种方法
一.ENVI里如何对两个波段进行相关性分析 1.首先获取要统计的两个波段的信息,这里用的ndvi和地表反照率(aldeo),两个波段值经过归一化后进行计算 2.首先利用layer stacking工具 ...
- 利用颜色和形态学两种方法进行车牌区域提取的OpenCV代码
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 2016-7-28日:用MSER算法也实现了车牌 ...
- DL之DNN:自定义2层神经网络TwoLayerNet模型(计算梯度两种方法)利用MNIST数据集进行训练、预测
DL之DNN:自定义2层神经网络TwoLayerNet模型(计算梯度两种方法)利用MNIST数据集进行训练.预测 导读 利用python的numpy计算库,进行自定义搭建2层神经网络TwoLayerN ...
- win10可用空间变成未分配_教你两种方法有效利用Win10未分配的空间 - 易我科技...
Haley 于 2020/08/24更新 磁盘分区管理 摘要 文中介绍了两种方法充分利用Windows10未分配空间,分别为1)格式化Win10未分配空间来创建新的分区,2)在分区上添加未分配空间. ...
- php随机缩略图,实现随机缩略图的简单思路和phpcms随机缩略图两种方法
一种实现随机缩略图的简单思路:设置一个随机缩略图图片池(比如thumb文件夹),里面放若干张从"1.jpg"开始顺序命名的预置图片,判断无缩略图时,使用php的mt_rand(1, ...
- js获取classname值_利用js获取元素class值的两种方法
我们有时为了达到某种效果,需要以元素的class值为条件做判断. 我们如何利用JavaScript获取元素class的值?我们先看下面代码: x=document.getElementsByTagNa ...
- 用matlab计算稳态误差,利用Matlab求稳态误差的两种方法.
利用Matlab求稳态误差的两种方法 摘要:稳态误差是系统控制精度或抗扰动能力的一种度量,它是稳态性能的一个重要指标.本文介绍利用Matlab的控制系统工具箱和Simulink工具箱求取系统误差稳态的 ...
- 创建一个 Rectangle类,添加width和lenght两个成员变量 在 Rectangle类中添加两种方法分别计算矩形的周长和面积 编程利用Rectangle输出一个矩形的周长和面积
创建一个 Rectangle类,添加width和lenght两个成员变量 在 Rectangle类中添加两种方法分别计算矩形的周长和面积 编程利用Rectangle输出一个矩形的周长和面积 publi ...
最新文章
- Centos普通用户提权至ROOT
- element-UI中手动调用table排序
- Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数
- Windows 7 Beta(32位\64位)官方镜像文件下载
- JavaScriptSerializer序列化与反序列化--备忘
- centos有趣软件包_这5个软件包使学习R变得有趣
- mysql rpm 安装6_linux6.5 RPM方式安装 mysql5.6
- spring电子书_不懂Spring就彻底放Java吧
- 学了这几招,社交时人人都对你刮目相看(转载)
- 页面显示拒绝访问请求
- python爬取小视频-40行代码教你利用Python网络爬虫批量抓取小视频
- 蜗牛星际B双 安装黑群晖7.1(U盘引导)
- 商务网站建设与维护【15】
- php cdr,cdr文件用什么打开
- 奔骝定位摄影作品之LAS100
- 爬取虎牙TV全站主播信息
- 羡慕华为人年薪110万?先看看华为员工的16项标准!
- 学UI设计,用对这5款设计软件是关键
- Marathon+Mesos+Docker实战
- 【C语言】汉诺塔问题
热门文章
- 通过注册表检测是否安装了VC++ 2008 SP1 redistributable。
- 记录一次idea崩溃问题
- Android studio和码云步骤,android地图开发框架
- RECS高管教练课程是什么?
- 英文科技论文写作常用句型
- FFmpeg常用推流命令
- IE1011安装失败出现9C59代码之解决方案,
- 054_er_xiang_yi_tu_sou_tu
- 单位序列响应和阶跃响应的z域分析 matlab,信号与系统 [薛莲,周茉,刘少敏 主编] 2015年版...
- 如何成为Java架构师?学习路线是怎样的?大佬总结成长之路跟着往上走,建议你提早开始准备!