2013-05-23 更新
convert pdf to png
ghostscript 和 imagemagick 尽量用最新版本 !
---------------------------------------------------
MAC安装方案
最近工作上要做一个PDF转image的项目,然后做demo
第一步要安装x11,因为muntain lion已经删除了x11
安装完xQuartz之后开始安装ghostscript,这个linux本来就安装了,但是mac没
$ brew install ghostscript
安装成功了看看版本
$ gs -v
GPL Ghostscript 9.06 (2012-08-08)
Copyright (C) 2012 Artifex Software, Inc. All rights reserved.
接着来安装imagemagick,安装的时候会有一些依赖
$ brew install imagemagick
安装完成后会发现brew已经安装了好多,先查看一下
$ brew list
里面有个libpng,link一下
$ brew link libpng
source一下
$ source .zshrc #我用的zsh,如果你用bash,就source .bashrc
现在就可以用convert来转换了
$ convert -density 72 a.pdf a.png
下面来安装php的module imageick
首先需要autoconf,发现没这个编译不了
$ brew install autoconf
接着就是用pecl来安装imageick了
$ sudo pecl install imageick
成功安装完成,就可以使用imageick了
linux安装方案
linux可能需要图形界面,可以不启动图形界面
默认的linux是安装了ghostscript,桌面版是这样,可能服务器版还需要安装
$ sudo apt-get install ghostscript
接下来安装imagemagick
$ sudo apt-get install ghostscript
linux可能会帮助安装依赖库,如果是编译安装需要libpng 或者其他jpg图片,需要jpeg
接着source下你的bash,接着就可以在终端把PDF转成图片了
$ convert -density 72 a.pdf a.png
接着安装php的module imageick
先来安装autoconf
$ sudo apt-get install autoconf
然后用pecl来安装imageick
$ sudo pecl install imageick
安装完会告诉你在php.ini把extension=imagick.so的注释去掉,如果没有这行就自己添加个
php代码实例
<?php
if(!extension_loaded('imagick')){
return false;
}
$self = pathinfo(__FILE__, PATHINFO_BASENAME);
$path = str_replace($self, '', __FILE__);
$pdf = $path.'Beginning.iPhone.Games.pdf';
if(!file_exists($pdf)){
return false;
}
$image = new imagick($pdf);
$image->setImageResolution(150, 150);
//$image->setCompressionQuality(72);
foreach($image as $key => $png)
{
//$return[$key] = $key;
$png->setImageFormat('png');
$filename = $path.'image/'.$key.'.png';
if($png->writeImage($filename) == true){
$return[] = $filename;
}
}