php(thinkphp)在linux系统下pdf转png图片【转】

PHP)中使用imagick实现把PDF转成图片

操作之前,先在linux服务器安装 ghostscript

650 2017-06-17 13:31:20 root cd ./soft
651 2017-06-17 13:31:25 root wget http://ghostscript.com/releases/ghostscript-8.71.tar.gz
652 2017-06-17 13:41:14 root tar zxvf ghostscript-8.71.tar.gz
653 2017-06-17 13:41:26 root cd ghostscript-8.71
654 2017-06-17 13:41:37 root ./configure --prefix=/usr
655 2017-06-17 13:42:06 root mkdir obj
656 2017-06-17 13:42:15 root mkdir bin
657 2017-06-17 13:42:23 root make all
658 2017-06-17 13:45:29 root make install

然后重启一下:

use Imagick;
/**     * PDF2PNG     * @param $pdf  待处理的PDF文件     * @param $path 待保存的图片路径     * @param $page 待导出的页面 -1为全部 0为第一页 1为第二页     * @return      保存好的图片路径和文件名     */    function pdf2png($pdf,$path,$page=-1)    {        if(!extension_loaded(‘imagick‘))        {            return false;        }        if(!file_exists($pdf))        {            echo dirname($pdf);            echo "file not exit";            return false;        }

$im = new Imagick();

$im->setResolution(120,120);        $im->setCompressionQuality(100);try {        if($page==-1){            $im->readImage($pdf);        }else{            $im->readImage($pdf."[".$page."]");        }} catch (\Exception $e) {    Log::notice($e->getMessage());}        foreach ($im as $Key => $Var)        {            $Var->setImageFormat(‘png‘);            $filename = $path."/". md5($Key.time()).‘.png‘;            if($Var->writeImage($filename) == true)            {                $Return[] = $filename;            }        }        return $Return;    }

function cpdf2png()    {        $path="public/files";//请确保当前目录下有这个文件夹,由于一直要用,所以就不加检测了        $s=self::pdf2png("public/files/bp/36.pdf",$path);        $scount=count($s);        for($i=0;$i<$scount;$i++)        {            echo "<div align=center><font color=red>Page ".($i+1)."</font><br><a href=\"".$s[$i]."\" target=_blank><img border=3  src=\"".$s[$i]."\"></a></div><p>";        }    }

完全是参考:http://www.jb51.net/article/60337.htm 这篇文章。非常感谢

时间: 2024-12-28 00:20:35

php(thinkphp)在linux系统下pdf转png图片【转】的相关文章

linux系统下pdf操作软件pdftk

二十一.pdf操作软件pdftk pdftk是一个命令行程序,使用计算机终端进行操作. 1.第一步:安装pdftk windows:https://www.pdflabs.com/tools/pdftk-server/#download linux: snap install pdftk 2.第二步:操作 以下操作步骤在终端中进行,windows打开Dos窗口下操作,linux在终端下进行 (1)将223页的pdf拆分 pdftk 123.pdf cat 1-45 output out1_45.

linux系统下安装Python环境

如何在Linux系统下搭建Python开发环境(http://www.maiziedu.com/course/python/)?Python在Linux系统中安装方法在Windows下是有很大的区别的,今天就具体记录一下关于 Python 环境软件包在Linux系统下的一些安装步骤 1.升级 Python 到 2.7.10( 默认 2.6.6 ) shell > yum -y install epel-release shell > yum -y install gcc wget readli

Linux系统下的shutdown命令用于安全的关闭/重启计算机

Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执行shutdown命令时,系统会给每个终端(用户)发送一条屏显,提示关机操作.定时关机只需要一个简单的参数,既可以是倒计时,也可以是确切的时间. 命令格式 1 shutdown [选项] [时间] [消息] 并有如下选项: - k 不执行任何关机操作,只发出警告信息给所有用户 - r 重新启动计算机 - h 关机并彻底断电 - f 快速关机且重启动时跳过fsck

第九章 Linux系统下分区、格式化磁盘,学会挂载和卸载磁盘

1. 请查资料了解这些术语:/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, 他们之间有什么区别?/dev/hda, /dev/hdb 是 IDE借口硬盘的块文件. /dev/hda  第一块IDE磁盘 : /dev/hdb 第二块IDE磁盘 /dev/sda, /dev/sdb 是SCSI接口硬盘的块文件. /dev/sda 第一块SCSI磁盘 :/dev/sdb 第二块SCSI磁盘 2. 为什么 du -b /etc/passwd  和 du -k  /etc/

在虚拟机的Linux系统下安装wineqq

|   版权声明:本文为博主原创文章,未经博主允许不得转载. 本文参考教程:http://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=7688&extra=page%3D1 WineQQ下载地址:http://pan.baidu.com/s/1c2FSTsk qq是一款国内非常著名的聊天工具,但是在腾讯的官网并没有Linux操作系统下的qq安装版本,但是我们也有办法在Linux系统下安装qq,下面我们实现在Linux安装w

linux系统下运行java项目的脚本编写

本文主要讲linux系统下运行jar包,至于如何打包jar包,放到linux系统下可以参考其他的博客. 在linux系统下运行jar包的命令如下: 1.java -jar xxxxx.jar  // 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 2.java -jar xxxxx.jar &   //当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行. 3.nohup Java -jar xxxxxx.jar &  //意思是不挂断运行命令,当账户退

Linux系统下利用文件创建文件系统

在Linux系统下利用文件创建文件系统,小伙伴们乍一听也许会有点不知道其意义何在. 其实不然,利用文件创建文件系统还是相当有实用价值的 首先我们在做一些测试时,不想使用实际的磁盘分区时,我们可以利用文件创建文件系统,然后在其上做一些测试: 其次,我们将数据写在利用文件创建的文件系统上,必要时,我们可以将文件拷走,实现数据的便捷迁移,而在磁盘分区上的数据我们想拷走就比较麻烦了. 废话不多说,下面就来做个小实验,来演示下其步奏: 首先我们在/testdir测试目录下创建一个partfile文件 利用

linux系统下文件查找

在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器: 1,locate:非实时查找(基于预先生成的数据库查找):模糊匹配:速度快 2,find:实时查找(遍历目录中的所有文件完成查找):精确匹配,支持众多查找标准:速度慢 一.locate 查询系统上预先生成的文件索引数据库:/var/lib/mlocate/mlocate.db 依赖于事先构建的索引:索引的构建是在系统较为空闲时自动进行(周期性任务) 管

linux系统下重启tomcat的shell脚本

linux系统下重启tomcat的shell脚本: tomcat_home=/opt/apache-tomcat-6.0.32 #找到tomcat进程的id并kill掉 ps -ef |grep tomcat |awk {'print $2'} | sed -e "s/^/kill -9 /g" | sh - #删除日志文件,如果你不先删除可以不要下面一行 rm $tomcat_home/logs/* -rf #删除tomcat的临时目录 rm $tomcat_home/work/*