Ghost脚本 - 从pdf中提取单个页面并将其转换为jpg

时间:2011-04-03 05:45:06

标签: php pdf ghostscript

我正在使用ubuntu 10.10并且我安装了ghost脚本。我需要做的是从我的PDF中提取一个页面,然后将该页面转换为jpg。目的是创建一个PDF预览器....

以下是我发现的一些设置,适用于windows版本的ghostscript将整个内容转换为jpg。它不会让我隔离一页,而这正是我所需要的。

    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=30 ^
    -r72x72 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    /path/to/pdffile.pdf

然后我需要将它写入我的PHP库,以便我可以运行像$img_src = pdf::preview('test.pdf', $page=1);这样的函数

有没有人对此有任何想法?

由于

ESP Phostscript 815.02(2006-04-19) 版权所有(C)2004 artofcode LLC,Benicia,CA。版权所有。 本软件不附带任何担保:有关详细信息,请参阅PUBLIC文件。

1 个答案:

答案 0 :(得分:37)

您是说要从PDF中提取单个页面吗?假设您要提取第12页。您可以使用以下选项使用Ghostscript执行此操作:

-dFirstPage=12 -dLastPage=12

只需将这两个选项添加到您上面的选项中,将“12”更改为您要提取的页面。

如果您是从终端运行它,它将如下所示:

gs \
 -sDEVICE=jpeg \
 -o %03d.jpeg \
 -dFirstPage=12 \
 -dLastPage=12 \
 -dJPEGQ=30 \
 -r72x72 \
  file.pdf

我真的不建议使用Imagemagick将PDF转换为JPEG;无论如何,它使用Ghostscript,并且比直接使用Ghostscript慢。我做了一些实验,发现你可以通过使用Ghostscript输出高质量的JPEG,然后使用Imagemagick的mogrify命令来调整图像大小并压缩图像,从而获得更高质量的图像,尽管这可能是由于我对Ghostscript的了解有限比它的限制。如果您只是创建72 x 72缩略图,则可能并不重要。