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

2022-08-30 16:36:15

我使用的是 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 Ghostscript 815.02 (2006-04-19) 版权所有 (C) 2004 artofcode LLC, Benicia, CA.保留所有权利。该软件不附带任何保证:有关详细信息,请参阅文件PUBLIC。


答案 1

您是说要从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 的缩略图,这可能并不重要。


答案 2

推荐