pdf的Ghostscript合并导致方向翻转
我正在使用与此SO问题类似的方法:如何将两个后记文件合并在一起?
在合并的 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 Filesgsgs9.01bingswin32c.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
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
用于颠倒)。
但是,这不会可靠地工作,因为(某些)源文件可能包含自己的奇怪页面方向和旋转设置。在这种情况下,只有对源文件进行一个接一个的"修复"才能解决此问题。