2016-08-30 72 views
1

我想在指定页面大小和方向的同时使用Ghostscript将EPS文件转换为PDF。我可以将EPS文件转换为PDF文件:用Ghostscript指定PDF页面大小

C:\Program Files (x86)\gs\gs9.19\lib>ps2pdf D:\temp\Dmap-396.eps D:\temp\result.pdf 

我一直无法更改页面大小或方向,虽然。我试图:

ps2pdf D:\temp\Dmap-396.eps D:\temp\result.pdf -dDEVICEWIDTHPOINTS=734.4 -dDEVICEHEIGHTPOINTS=475.2 -dFIXEDMEDIA 

你知道我该如何改变PDF的页面大小和方向吗?我对其他工具开放,特别是如果它们可以用于Python脚本。

最后,我想在运行像下面的是一个Python脚本的代码,但我得到的错误Unrecoverable error: typecheck in .putdeviceprops

from subprocess import check_output 
from subprocess import call 
from time import sleep 

somecommand = "ps2pdf -dDEVICEWIDTHPOINTS=734.4 
    -dDEVICEHEIGHTPOINTS=475.2 -dFIXEDMEDIA -dPDFFitPage 
    D:\\temp\\Dmap-396-3-9.eps D:\\temp\\result.pdf".split(" ") 

call(somecommand, shell=True) 

~~~~~~~~~~~~~~~~~ ~~~~~~ 这是我的工作Python脚本:

from subprocess import check_output 
from subprocess import call 
from time import sleep 
import ghostscript 

somecommand = "gswin32c -o D:\\temp\\output.pdf -dDEVICEWIDTHPOINTS=734.4 
-dDEVICEHEIGHTPOINTS=475.2 -sDEVICE=pdfwrite -f D:\\temp\\Dmap.eps".split(" ") 
call(somecommand, shell=True) 

回答

1

设置使用-dDEVICEHEIGHTPOINTS和-dDEVICEHEIGHTPOINTS所需的媒体,并设置-dFIXEDMEDIA。您提供的宽度/高度设置实质上是默认设置;直到输入请求其他内容时才使用它们。如果您设置FIXEDMEDIA,则它变得固定,不可更改。

您几乎可以肯定想要设置-dPDFFitPage来缩放内容,以便原始媒体适合新媒体。否则,内容的各个部分将脱离新的大小的媒体。

呵呵,和开关的顺序很重要,他们要之前输入,你把他们送到输入文件后面。使用Ghostscript本身,而不是使用ps2pdf外壳脚本。

+0

我改变了选项的顺序,使它成为'ps2pdf -dDEVICEWIDTHPOINTS = 734.4 -dDEVICEHEIGHTPOINTS = 475.2 -dFIXEDMEDIA D:\ temp \ Dmap.eps D:\ temp \ result.pdf'但是我得到错误'Unrecoverable error :.putdeviceprops中的类型检查。我在Windows 7上遇到这个错误,当我在Ubuntu 14.04上输入它时,它运行得很好。 –

+0

我将Python脚本添加到我想要工作的问题中,以便可以运行PDF创建。 –

+0

最好只使用Ghostscript而不是ps2pdf shell脚本。如果没有其他原因,你可以看到命令是什么。我认为你的问题是,-d ....指望是整数,你不能有分数点。因此,typecheck错误。 – KenS

相关问题