我尝试裁剪有意输出超出尺寸的PDF,因为输出它的程序并不知道它的大小。在有问题的FreeBSD系统上安装了Ghostscript v7.07。基于另一个问题的现有答案(Cropping a PDF using Ghostscript 9.01)并将其调整为v7.07文档(http://ghostscript.com/doc/7.07/Readme.htm)我已尝试使用-sOutputFile =将-o替换为-o,因为它可以实现&# 39;识别-o。
gs \
-dNOPAUSE \
-dBATCH \
-sDEVICE=pdfwrite \
-c "[/CropBox [0 6785 433 7128]" \
-c " /PAGES pdfmark" \
-sOutputFile=testout.pdf \
testin.pdf \
我也试过
gs \
-dNOPAUSE \
-dBATCH \
-sDEVICE=pdfwrite \
-dDEVICEWIDTHPOINTS=433 \
-dDEVICEHEIGHTPOINTS=343 \
-dFIXEDMEDIA \
-c "0 6785 translate" \
-c "0 0 433 343 rectclip" \
-sOutputFile=testout.pdf \
testin.pdf \
我的问题是,在这两种情况下,我只是得到以下信息
**** Unable to open the initial device, quitting.
当搜索该错误时,它似乎主要是由于输出文件位置没有写权限或类似的东西,但看起来并非如此,因为我已经chmod我的文件夹在这里驱动我的是,如果我删除postscript命令行(-c),如下所示输出testout.pdf文件就好了(但显然没有裁剪或转换到正确的位置)。
gs \
-dNOPAUSE \
-dBATCH \
-sDEVICE=pdfwrite \
-sOutputFile=testout.pdf \
testin.pdf \
和
gs \
-dNOPAUSE \
-dBATCH \
-sDEVICE=pdfwrite \
-dDEVICEWIDTHPOINTS=433 \
-dDEVICEHEIGHTPOINTS=343 \
-dFIXEDMEDIA \
-sOutputFile=testout.pdf \
testin.pdf \
我想也许7.07根本就不支持这些命令,因为它似乎并不重要我放在-c中它总是最终给出错误,如果-c在那里,但是它存在于7.07文档中(http://ghostscript.com/doc/7.07/Use.htm#General_switches)并且它不像它给我一个-c是未知的错误,所以我不知所措。我想我做错了什么,或者ghostsciprt安装有什么问题或它的依赖性。任何人都可以给予我任何帮助将不胜感激。
答案 0 :(得分:0)
首先关闭升级,您使用的是13岁以上的软件。
其次,您的命令行不正确,您使用的是-c但是您没有提供匹配的-f这意味着-c 之后的所有内容(包括输入和输出文件名)都被视为PostScript
现在更新版本的Ghostscript会告诉你它需要一个输出文件名,你难以置信的古老的狡猾版本只能告诉你设备没有打开(因为没有输出文件名)这就是为什么你得到的误导性消息。
不要使用-c两次,-c(直到-f)之后的所有内容都被视为PostScript,因此您不需要指定它两次。
我希望这可行,但由于您使用的版本太旧,我无法确定:
gs \
-dNOPAUSE \
-dBATCH \
-sDEVICE=pdfwrite \
-dDEVICEWIDTHPOINTS=433 \
-dDEVICEHEIGHTPOINTS=343 \
-dFIXEDMEDIA \
-c "0 6785 translate \
0 0 433 343 rectclip" -f \
-sOutputFile=testout.pdf \
testin.pdf