使用 ps2pdf 将页面方向设置为横向

使用 ps2pdf 将页面方向设置为横向

是否可以使用 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/

相关内容