メモ(ネガポジ反転 & 3up)
@echo off
(echo [PDF]) >%TEMP%\i_view64.ini
(echo Load_UseNewDLL=1) >>%TEMP%\i_view64.ini
(echo DPI=300) >>%TEMP%\i_view64.ini
(echo SaveAllPages=1) >>%TEMP%\i_view64.ini
(echo [Batch]) >>%TEMP%\i_view64.ini
(echo AdvInvert=1) >>%TEMP%\i_view64.ini
(echo AdvAllPages=1) >>%TEMP%\i_view64.ini
cd /d %~dp0
for %%V in (%*) do (
"C:\Program Files\IrfanView\i_view64.exe" %%~fV /advancedbatch /ini=%TEMP% /convert=%%~pV%%~nV-inv.pdf
pdfnup -w21cm -h29.7cm -W19.19cm -H10cm -b5mm -d2pt -3 %%~pV%%~nV-inv.pdf %%~pV%%~nV-3up.pdf
pause
)
メモ(pdfnup)
@echo off
@setlocal enabledelayedexpansion
if {%1}=={} goto USAGE
if {%1}=={/?} goto USAGE
if {%1}=={-h} goto USAGE
if {%1}=={--help} goto USAGE
set o=%*
set count=1
set in_pdf=%1%
set out_pdf=%2%
:LOOP
set in_ext=!in_pdf:~-4,4!
set out_ext=!out_pdf:~-4,4!
if ""%2%""=="""" (
if /i "%in_ext%"==".pdf" (
goto NEXT
) else (
if /i "%out_ext%"==".pdf" (
set in_pdf=%out_pdf%
rem set out_pdf=nup-!in_pdf!
set out_pdf=
set str_inout= !in_pdf!
goto NEXT
) else (
goto USAGE
)
)
)
set in_pdf=%1%
set out_pdf=%2%
set str_inout= %in_pdf% %out_pdf%
set /a count+=1
shift
goto LOOP
:NEXT
echo Input PDF: %in_pdf% 1>&2
if ""%out_pdf%""=="""" (
echo Output PDF: 標準出力 1>&2
) else (
echo Output PDF: %out_pdf% 1>&2
)
set strlen=0
if "%str_inout%"=="" goto USAGE
:LEN_LOOP
call set ch=%%str_inout:~%strlen%,1%%
if "%ch%" == "" goto LEN_END
set /a strlen+=1
goto LEN_LOOP
:LEN_END
set options= !o:~0,-%strlen%!
set options=%options: .=.%
rem 「-W19.19cm」のようなオプションが「-W19 .19cm」とされないようにする
rem 「-W .19cm」は「-W.19cm」となってもよい
echo Options (for psnup): %options% 1>&2
set psfile=%temp%\%RANDOM%.ps
if not ""%out_pdf%""=="""" set out_pdf=^>!out_pdf!
cd /d %~dp0
rungs.exe -q -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ps2write -sOutputFile=%psfile% %in_pdf%
psnup %options% %psfile%|rungs.exe -dEPSCrop -q -dSAFER -dBATCH -dNOPAUSE -sDEVICE="pdfwrite" -sOutputFile=- -c save pop -%out_pdf%
del %psfile%
goto :EOF
:USAGE
echo Usage:
echo pdfnup [-W -H/-P] [-w -h/-p] [-l/-r/-f/-c] [-mmargin] [-bborder] [-dlwidth] [-sscale] [-nup] [-q] [infile [outfile]]
echo.
echo 例: pdfnup -4 infile.pdf outfile.pdf (1ページに4面割付)
echo 例: pdfnup -4 infile.pdf >outfile.pdf (1ページに4面割付)
echo.
echo infileは拡張子「.pdf」を持つ必要があり、outfileの指定が省略された場合は出力は標準出力。オプションはほぼpsnupのオプションと同様:
echo.
echo -nup : 1枚当たりnupページ出力。in/outともA4縦長と見て適切に配置される。
echo.
echo 並べ方
echo -l : 入力ファイルをA4横長と見て適切に配置。
echo -r : ページ順序を逆転して通常配置。
echo -c : 「転置行列」
echo -f : 各ページの縦横サイズを逆にする。
echo.
echo ページ間
echo -bborder : 各ページ間に距離borderをとる。
echo -dlwidth : 各ページ間に太さlwidthの区切り線をいれる。
echo.
echo 用紙サイズ
echo -P/-p : 入力/出力ファイルの用紙サイズ (a3/a4/a5/b5/letter/legal/tabloid/statement/executive/folio/quarto/10x14)
echo -H/-h : 入力/出力ファイルの高さ (cm,in)
echo -W/-w : 入力/出力ファイルの幅 (cm,in)
echo.
echo -s : スケールを(自動スケールでなく)scaleにする。
echo -q : ページ番号を振り直さない。
echo.