我正在尝试使用ghostscript压缩pdf文件,如下所示:
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -sOutputfile=output.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)
我过去成功完成了这项工作,但由于某些原因,它现在无法运作.我收到以下错误:
GPL Ghostscript 9.15 (2014-09-22)
Copyright (C) 2014 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
**** Unable to open the initial device, quitting.
Unrecoverable error: undefinedfilename in setpagedevice
Operand stack:
true --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval--
Run Code Online (Sandbox Code Playgroud)
[编辑:我将输入错误从-SOutputFile修改为-sOutputFile以避免这个红鲱鱼.(但这就是一些评论/答案所指的.)]
这对我有用......
gs \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/printer \
-dNOPAUSE \
-dQUIET \
-dBATCH \
-sOutputFile=output.pdf \
input.pdf
Run Code Online (Sandbox Code Playgroud)
由-kp-编辑
明确地拼写出来(并重新重复KenS在评论中写的内容):
-SOutputFile=... 不起作用-sOutputFile=...是正确的语法.(Ghostscript命令行参数区分大小写!)此外,使用最新版本的Ghostscript,您现在可以使用-o output.pdf而不是长版本.-o ...还自动且隐含地设置-dBATCH -dNOPAUSE参数.因此,编写此命令的最短方法是:
gs \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/printer \
-q \
-o output.pdf \
input.pdf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12554 次 |
| 最近记录: |