是否可以使用 Windows 上的 ps2pdf 将页面方向设置为横向?
答案1
看设置页面方向其中这段相当复杂的文字似乎在说这是不可能的:
默认情况下,Ghostscript 根据页面上的主导文本方向来确定查看页面的方向。有时,当页面上的文本有多个方向或根本没有文本时,可能会选择错误的方向。
Acrobat Distiller 参数 AutoRotatePages 控制自动方向选择算法。在 Ghostscript 上,除了输入流之外,Distiller 参数还可以作为命令行参数提供。例如:-dAutoRotatePages=/None 或 /All 或 /PageByPage。
当页面上没有文本或自动页面旋转设置为 /None 时,将使用 setpagedevice 的方向值。有效值为:0(纵向)、3(横向)、2(上下颠倒)和 1(海景)。可以直接使用 Ghostscript 从命令行将方向设置为 -c "<> setpagedevice"但无法在 ps2pdf 中设置. 请参阅下面的限制。
Ghostscript 将方向值从 DSC 注释传递到 pdfwrite 驱动程序但它们实际上被忽略了。这似乎与 Distiller 5 的行为一致。
答案2
ps2pdf
是一个相当有限的实用程序。它只是一个小的批处理文件(在 Unix/Linux 上:一个 shell 脚本),它构建并调用相当复杂的 Ghostscript 命令行,而它本身使用非常简单的命令行语法。
如果您需要 Ghostscript 的全部功能,最好直接调用 gswin32c.exe。
好的,以下是使用 Ghostscript 旋转页面的方法。但是,这可能不符合您的预期,因为您无法力量仅适用于单个页面的特定方向。它依赖于内部 Ghostscript 算法,该算法会尝试根据 PDF 内部的文本流自动旋转页面:
* -dAutoRotatePages=/None
-- 保留每个页面的方向;
* -dAutoRotatePages=/All
-- 根据某种“多数决定”旋转所有页面(或不旋转任何页面);
* -dAutoRotatePages=/PageByPage
-- 单独自动旋转页面。
将其中一个添加到您正在使用的 Ghostscript 命令行。
如果有不页面上的文本(或者如果将自动页面旋转设置为/None
),则 Ghostscript 将使用这些setpagedevice
设置。您可以setpagedevice
在 Ghostscript 命令行上使用开关传递此类参数-c
,如下所示:
* -c "<</Orientation 3>> setpagedevice"
-- sets景观方向;
* -c "<</Orientation 0>> setpagedevice"
——设置肖像方向;
* -c "<</Orientation 2>> setpagedevice"
——设置倒挂方向;
* -c "<</Orientation 1>> setpagedevice"
——设置海景方向。
你要求或 Ghostscript的使用pstopdf
?使用其他在命令行上运行的免费开源软件工具(例如)是否可以接受pdftk.exe
?
无论如何,我建议你pdftk
也看一下(Windows 也可用)。它是一个命令行工具,可以旋转 PDF 中的页面,还有更多功能。对于你所述的目的,它比 Ghostscript 更容易使用,而且速度也快得多。特别是,它可以旋转 PDF 文档中的单个页面,而其他页面保持不变。详情请参见此处:http://www.accesspdf.com/pdftk/。