我正在尝试将多页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只是不起作用。
帮助!!!
答案 0 :(得分:12)
你不需要ImageMagick,Ghostscript可以独自完成。 (如果您使用ImageMagick,它本身无法进行转换, HAS 将Ghostscript用作'委托'。)
试试这个直接使用Ghostscript:
c:\path\to\gswin32c.exe ^
-o page_%03d.jpg ^
-sDEVICE=jpeg ^
d:/path/to/input.pdf
这将为每个页面创建一个新的JPEG,文件名将增加为 page_001.jpg , page_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格式的有损压缩也会导致较差的输出质量。有关此主题的更多详细信息,另请参阅the JPEG FAQ。
通过选择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
(替代黑白模块)。
答案 1 :(得分:-3)
有许多SaaS服务也会为您做到这一点。想到了HyPDF和Blitline。