Ghostscript合并PDF文件导致页面方向翻转问题

6

Ghostscript合并PDF文件导致方向翻转

我正在使用与以下SO问题类似的方法: 如何将两个PostScript文件合并在一起?

在合并后的PDF中,每隔几页都会倒置方向。我尚未在其他地方看到有关此症状的提及。合并一个有问题的PDF仍然会使方向翻转。

@echo off
REM FILE: merge.bat

call :merge 1 155 out.pdf
pause
goto :eof

REM MERGE PDFs
REM @param # of first file in sequence
REM @param # of last file in sequence
REM @param new file of merged pdf
goto :eof
:merge
SET START=%1
SET END=%2
SET OUT=%3
echo START=%START%
echo END=%END%
echo OUT=%OUT%
echo.
SET CMD="c:\Program Files\gs\gs9.01\bin\gswin32c.exe"
SET INPUT_DIR=c:\input
SET CMD_ARGS=args.bat
echo Generating args file...
(echo.|set /p="-dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=%OUT% ") > %CMD_ARGS%
for /L %%G IN (%START%,1,%END%) do (
  (echo.|set /p=" "%INPUT_DIR%\%%G.pdf" ") >> %CMD_ARGS%
)
echo. >> %CMD_ARGS%
del %OUT%
if exist %OUT% goto :error
echo Executing command...
%CMD% @%CMD_ARGS%
del %CMD_ARGS%
echo Done.
if not exist %OUT% goto :error
goto :eof

:error
echo Error processing command.
goto :eof

你的 "args.bat" 文件里有什么内容? - Mark Storer
@Mark Storer:我假设您已经看到TJR的主批处理文件(尝试)动态创建args.bat的内容。您想知道“(echo.|set /p=…”部分的实际结果是什么? - Kurt Pfeifle
1个回答

11

TJR,您可以尝试在Ghostscript调用中添加以下命令行参数之一:

-dAutoRotatePages=/None
-dAutoRotatePages=/All 
-dAutoRotatePages=/PageByPage

如果这样还是没有改变结果,尝试使用以下方法:

gswin32c.exe ^
 -o c:/path/to/output.pdf ^
 -sDEVICE=pdfwrite ^
 -dPDFSettings=/prepress ^
 -dAutoRotatePages=/None ^
 -c "<</Orientation 0>> setpagedevice" ^
 -f /path/to/first.pdf ^
    /path/to/second.pdf ^
    /path/to/third.pdf 

这部分内容中的/Orientation 0应该将所有页面调整为纵向。使用3应该使其横向(1表示海报式,2表示倒置)。

然而,这种方法不一定可靠,因为您的源文件可能包含自己的奇怪页面方向和旋转设置。在这种情况下,只有逐个对源文件进行“修复”才能解决这个问题...


就单独查看,这些源PDF文件的方向都是相同的。这些源PDF文件是通过Scribus应用程序生成的。 - TJR
@TJR:你用的是哪个阅读器?阅读器的设置是什么样的?请注意,根据页面上文本串的主导流向,阅读器可能会自动旋转页面进行查看(或者根据阅读器认为的“主导流向”)。此外,页面上可能嵌入了一种“旋转查看”的标志... - Kurt Pfeifle
@TJR:你能提供几个示例PDF文件来展示你所描述的行为吗?那么我会仔细研究它们并告诉你我的结果... - Kurt Pfeifle
@TJR:你用的是哪个版本的Ghostscript?(最新版本是v9.02)。 - Kurt Pfeifle
1
AutoRotatePages=/None就解决了问题。但是我真的不知道为什么这不是默认设置。 - Torsten Bronger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接