Ste*_*hen 2 pdf jpeg imagemagick ghostscript
我正在尝试将多页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>"
Run Code Online (Sandbox Code Playgroud)接下来是一大堆错误.它始于:
Unrecoverable error: rangecheck in.setuserparams
Operand stack:
Run Code Online (Sandbox Code Playgroud)
接着是一些难以理解的数字和大写字母.它结束于:
While reading gs_lev2.ps:
%%[ Error: invalidaccess; OffendingCommand: put ]%%
Run Code Online (Sandbox Code Playgroud)
毋庸置疑,经过数小时和数小时的审议后,我认为我没有更接近于将这个PDF转换为JPG的看似简单的任务.
我想要的是如何使这项工作一步一步的说明.不要遗漏任何东西,无论它看起来多么"明显"(尤其是涉及ghostscript的任何东西).几个月以来,这一直困扰着我和我的主管.
为了进一步说明,我们使用的是Windows XP操作系统.最终的目的是在R(统计语言)中调用这些命令行,并在脚本中运行它.此外,我已经能够成功地将JPG转换为PNG格式,反之亦然,但PDF只是不起作用.
救命!!!
Kur*_*fle 12
你不需要ImageMagick,Ghostscript可以独自完成.(如果你使用ImageMagick的,它不能做转换本身,它HAS使用的Ghostscript作为其"代理".)
试试这个直接使用Ghostscript:
c:\path\to\gswin32c.exe ^
-o page_%03d.jpg ^
-sDEVICE=jpeg ^
d:/path/to/input.pdf
Run Code Online (Sandbox Code Playgroud)
这将为每个页面创建一个新的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
Run Code Online (Sandbox Code Playgroud)
-r300将分辨率设置为300dpi并-dJPEGQ=100设置最高的JPEG质量级别(Ghostscript的默认值为75).
另请注意: JPEG不适合用于表现具有锐边和高对比度且高质量的形状(例如,您通常会在带有小字符的黑白文本页面中看到).
(有损)JPEG压缩方法针对连续色调图片+照片进行了优化,而不是针对线条图形进行了优化.因此,对于主要包含文本的PostScript或PDF输入页面,它是次优的.这里,即使输入非常好,JPEG格式的有损压缩也会导致较差的输出质量.有关此主题的更多详细信息,另请参阅JPEG FAQ.
通过选择PNG作为输出格式(PNG使用无损压缩),您可以获得更好的图像输出:
gswin32c.exe ^
-o page_%03d.png ^
-sDEVICE=png16m ^
-r150 ^
d:/path/to/input.pdf
Run Code Online (Sandbox Code Playgroud)
该png16m设备产生24位RGB颜色.你可以交换它pnggray(用于纯灰度输出),png256(用于8位颜色),png16(4位颜色),pngmono(仅黑色和白色)或pngmonod(替代黑白模块).
| 归档时间: |
|
| 查看次数: |
7838 次 |
| 最近记录: |