使用 Ghostscript 指定 PDF 页面大小
Specifying PDF page size with Ghostscript
我想在指定页面大小和方向的同时使用 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)
使用 -dDEVICEHEIGHTPOINTS 和 -dDEVICEHEIGHTPOINTS 设置所需的媒体,并设置 -dFIXEDMEDIA。您提供的 width/height 设置本质上是默认设置;在输入请求其他内容之前使用它们。如果您设置 FIXEDMEDIA 然后它变成固定的,不可更改的。
您几乎可以肯定也想要设置-dPDFFitPage 来缩放内容,以便原始媒体适合新媒体。否则部分内容会从新尺寸的介质上脱落。
哦,开关的顺序很重要,它们必须 在 输入之前,你让它们在输入文件之后。不要使用 ps2pdf shell 脚本,而是使用 Ghostscript 本身。
我想在指定页面大小和方向的同时使用 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)
使用 -dDEVICEHEIGHTPOINTS 和 -dDEVICEHEIGHTPOINTS 设置所需的媒体,并设置 -dFIXEDMEDIA。您提供的 width/height 设置本质上是默认设置;在输入请求其他内容之前使用它们。如果您设置 FIXEDMEDIA 然后它变成固定的,不可更改的。
您几乎可以肯定也想要设置-dPDFFitPage 来缩放内容,以便原始媒体适合新媒体。否则部分内容会从新尺寸的介质上脱落。
哦,开关的顺序很重要,它们必须 在 输入之前,你让它们在输入文件之后。不要使用 ps2pdf shell 脚本,而是使用 Ghostscript 本身。