我有一个PDF文件,我需要使用此命令GS将方向从横向更改为纵向。方向开关不改变方向。我需要添加额外的设置吗?
::Path to your Ghostscript EXE
set GSC="C:\Program Files (x86)\gs\gs9.16\bin\gswin32.exe"
%GSC% -sDEVICE=pdfwrite -sOutputFile="D:\TRANS\PDF\2_ZNOR_00000000000000000070.pdf" -dNOPAUSE -dEPSCrop -c "<</Orientation 3>> setpagedevice" -f "D:\TRANS\PDF\1_ZNOR_00000000000000000070.pdf"
答案 0 :(得分:1)
它对我有用
List<string> switches = new List<string>
{
"-empty",
"-dQUIET",
"-dSAFER",
"-dBATCH",
"-dNOPAUSE",
"-dNOPROMPT",
"-dDEVICEHEIGHTPOINTS=612",
"-dDEVICEWIDTHPOINTS=792",
"-dFIXEDMEDIA",
"-dFitPage",
"-sDEVICE=pdfwrite",
"-dAutoRotatePages=/None",
"-sOutputFile=" + resultFilePath,
"-c",
"<</Orientation 1>> setpagedevice",
"-f"
};
switches.Add(this.FilePath);
答案 1 :(得分:0)
您在那里使用的大多数开关都没有任何效果,您也没有做任何事情来旋转PDF文件。
首先要注意的是Ghostscript确实是这项工作的错误工具,它不会修改 PDF文件,它会生成全新的文件。该过程描述为here
如果输入是EPS文件,-dEPSCrop开关只有效果,否则它什么都不做。
setpagedevice的操作数不正确,当setpagedevice需要字典<>
时,您传递空的十六进制字符串<<>>
。即使这样,一本空字典也什么都不做。
我希望您打算放<</Orientation 1>> setpagedevice
,但实际上这只是媒体匹配请求。为了让Ghostscript创建一个旋转的PDF文件,您必须更改媒体大小,将其设置为固定,并设置-dFitPage。您还必须将AutoRotatePages开关设置为None,以防止输出的自动重新定向,以使文本处于水平状态。
由于您尚未提供要查看的PDF文件,也未说明其介质尺寸,因此我只能猜测尺寸。但是,像是
gswin32c.exe -sDEVICE=pdfwrite -sOutputFile=new.pdf -dDEVICEHEIGHTPOINTS=612 -dDEVICEWIDTHPOINTS=792 -dFitPage -dAutoRotatePages=/None input.pdf