3

我正在尝试将多页 PDF 文件转换为一堆 JPEG,PDF 中的每一页都有一个。我花了好几个小时寻找如何做到这一点,最终我发现我需要安装 Ghostscript。所以我这样做了(来自这个网站: http: //downloads.ghostscript.com/public/我使用了 2012 年 2 月 8 日的最新链接“ghostscript-9.05.tar.gz”)。

但是,即使安装/下载了这个,我仍然无法做我想做的事。我应该把它保存在某个特殊的地方,比如与 ImageMagick 相同的文件夹中吗?

到目前为止,我发现的是:

  • 在命令提示符中,我将工作目录更改为保存该文件夹的 ImageMagick 文件夹。

  • 然后我输入

    convert "<full file path to pdf>" "<full file path to jpg>"
    

紧随其后的是一个巨大的错误。它开始于:

    Unrecoverable error: rangecheck in.setuserparams
    Operand stack:

紧随其后的是一堆不可读的数字和大写字母。它以:

    While reading gs_lev2.ps:
    %%[ Error: invalidaccess; OffendingCommand: put ]%%

不用说,经过数小时的审议,我认为我离完成将这个 PDF 转换为 JPG 的看似简单的任务还差得远。

我想要的是一些关于如何完成这项工作的分步说明。不要遗漏任何东西,无论它看起来多么“明显”(尤其是任何涉及ghostscript的东西)。这几个月来一直困扰着我和我的主管。

为了进一步说明,我们使用的是 Windows XP 操作系统。最终目的是在统计语言 R 中调用这些命令行,并在脚本中运行它。此外,我已经能够成功地将 JPG 转换为 PNG 格式,反之亦然,但 PDF 无法正常工作。

帮助!!!

4

2 回答 2

15

您不需要 ImageMagick,Ghostscript 可以单独完成。(如果您使用 ImageMagick,它本身无法进行转换,它必须使用 Ghostscript 作为其代表”。)

试试这个直接使用 Ghostscript:

 c:\path\to\gswin32c.exe ^
   -o page_%03d.jpg ^
   -sDEVICE=jpeg ^
    d:/path/to/input.pdf

这将为每个页面创建一个新的 JPEG,并且文件名将递增为page_001.jpgpage_002.jpg、...

请注意,这还将创建使用jpeg设备所有默认设置的 JPEG(最重要的设置之一是分辨率为 72dpi)。

如果您需要更高(或更低)的图像分辨率,您可以添加其他选项:

 gswin32c.exe ^
   -o page_%03d.jpg ^
   -sDEVICE=jpeg ^
   -r300 ^
   -dJPEGQ=100 ^
    d:/path/to/input.pdf

-r300将分辨率设置为 300dpi 并-dJPEGQ=100设置最高 JPEG 质量级别(Ghostscript 的默认值为 75)。

另请注意: JPEG 不太适合表示具有锐利边缘和高对比度的高质量形状(例如您通常在带有小字符的黑白文本页面中看到的)。

(有损)JPEG 压缩方法针对连续色调图片 + 照片进行了优化,而不是针对线条图形。因此,对于此类主要包含文本的 PostScript 或 PDF 输入页面来说,它是次优的。在这里,即使输入非常好,JPEG格式的有损压缩也会导致输出质量较差。有关此主题的更多详细信息,另请参阅JPEG 常见问题解答。

通过选择 PNG 作为输出格式,您可以获得更好的图像输出(PNG 使用无损压缩):

 gswin32c.exe ^
   -o page_%03d.png ^
   -sDEVICE=png16m ^
   -r150 ^
    d:/path/to/input.pdf

png16m设备产生 24 位 RGB 颜色。您可以将其替换为pnggray(纯灰度输出)、png256(8 位颜色)、png16(4 位颜色)、pngmono(仅黑白)或pngmonod(替代黑白模块)。

于 2012-06-12T20:23:13.813 回答
-3

有许多 SaaS 服务也可以为您做到这一点。想到 HyPDF 和 Blitline。

于 2013-09-26T22:19:39.333 回答