我想在指定页面大小和方向时使用Ghostscript将EPS文件转换为PDF。我可以将EPS文件转换为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)
答案 0 :(得分:1)
使用-dDEVICEHEIGHTPOINTS和-dDEVICEHEIGHTPOINTS设置所需的媒体,并设置-dFIXEDMEDIA。您提供的宽度/高度设置基本上是默认值;它们被使用,直到输入请求别的东西。如果你设置了FIXEDMEDIA,它就会变得固定,不可更改。
您几乎肯定还想要设置-dPDFFitPage来缩放内容,以便原始媒体适合新媒体。否则,内容的某些部分将从新尺寸的媒体中消失。
哦,并且交换机的顺序很重要,它们必须在之前输入,你将它们放在输入文件之后。而不是使用ps2pdf shell脚本,请使用Ghostscript本身。