PDF格式的Ghostscript合并导致方向翻转

TJR*_*TJR 4 pdf ghostscript

PDF格式的Ghostscript合并导致方向翻转

我正在使用与此问题类似的方法: 如何将两个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
Run Code Online (Sandbox Code Playgroud)

Kur*_*fle 9

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

-dAutoRotatePages=/None
-dAutoRotatePages=/All 
-dAutoRotatePages=/PageByPage
Run Code Online (Sandbox Code Playgroud)

如果这不会改变结果,请尝试以下方法:

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 
Run Code Online (Sandbox Code Playgroud)

该部分/Orientation 0应该将所有页面都转为纵向.使用3应该使它成为景观(1海景,2颠倒).

但是,这将无法可靠地工作,因为(某些)您的源文件可能包含他们自己的奇怪的页面方向和旋转设置.在这种情况下,只能逐个"修复"源文件才能解决这个问题....