Jak połączyć wiele plików PDF w jeden? Okazuje się, że tego typu montaż jest możliwy przy wykorzystaniu program epdftex, który jest standardowym składnikiem każdej nowej dystrybucji TeXa i poniższego skryptu (autor P. Pianowski):
\nopagenumbers
\def\picdir {pic/}
\hoffset -1in \voffset -1in \topskip 0pt
\newdimen\HS \HS=210mm \newdimen\VS \VS=297mm
\hsize\HS \vsize\VS
\pdfpagewidth=\HS \pdfpageheight=\VS
%\def\letter {letter} \def\aiv {a4}
\def\stronapdf #1#2#3#4{\pdfximage page #1 {\picdir #2}
\vbox to\VS{\vskip #4 \hbox to\HS{\hskip #3%
\pdfrefximage\pdflastximage \hss}\vss}
}
\newcount\odstrony \newcount\dostrony
\newcount\nstr \newcount\lstr
\def\strony#1#2#3#4#5{%
\odstrony #1 \dostrony #2
\def\przesunieciex {#3} \def\przesunieciey {#4}
\lstr \numexpr \dostrony-\odstrony+1 \relax
\nstr 1
\loop
\stronapdf \nstr{#5}\przesunieciex\przesunieciey
\vfil\break
\ifnum\nstr<\lstr \advance\nstr 1 \repeat
}
%% --- tu zmieniać: ---
\strony {01}{12}{5mm}{5mm}{plik_0.pdf}
\strony {13}{18}{5mm}{5mm}{plik_1.pdf}
... itd ...
\bye
Oczywiście koniec pliku należy zmodyfikować, wywołując polecenie \strony
tyle razy ile trzeba. Powyższe wypróbowałem i działa doskonale. Trzeci i czwarty argument polecenia \strony
określa przesunięcie i umożliwia dopasowanie marginesów na stronie (dla każdego pliku oddzielnie).
Inne proponowane do tego celu rozwiązania to: latex plus pakiet pdfpages, pdftk (ORA wydało nawet książkę PDF Hacks--nie wiedziałem) albo ghostscript uruchomiony w następujący sposób:
gs -q -sPAPERSIZE=A4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
-sOutputFile=out.pdf in1.pdf in2.pdf...
Więcej informacji na temat łączenia plików PDF można znaleźć w tekście: How to concatenate PDFs without pain.
Ciekawe informacje
OdpowiedzUsuń