Czasami mam potrzebę połączyć ze sobą kilka plików PDF w jeden. Przykładowe zastosowanie: jeśli klient kupi u mnie coś na allegro z wysyłką do paczkomatu to generuję etykietę adresową. Manager InPostu generuje etykiety w formacie A6 (dwa razy zgięta kartka A4). Zawsze drukuję etykiety na kartce A4 z ustawieniem 4 etykiety na stronie. Jeśli mam 4 zamówienia, to zużywam tylko jedną kartkę A4.

Problem pojawia się wtedy, gdy klienci wybierają różne formy wysyłki tj. manager inpostu tworzy osobne pliki w zależności od wybranej formy wysyłki:
- Etykiety na paczkomaty gdy klient ma Allegro Smart
- Etykiety na paczkomaty (klient nie ma Smarta)
- Etykieta Kurier InPost
Dość często zdarzała się sytuacja, że miałem np. dwa zamówienia smartowe, jeden paczkomat bez smarta i jedna etykieta na kuriera Inpostu. W efekcie miałem 3 różne pliki PDF i na wydruk marnowałem 3 kartki papieru. A gdybym mógł scalić te 3 pliki w jeden to akurat miałbym idealnie 4 etykiety w jednym pliku i zużyłbym tylko jedną kartę papieru (no a papier ostatnio mocno podrożał).
MacOS
Będąc szczęśliwym posiadaczem MacBooka Air mam „w standardzie” opcję łączenia kilku plików PDF w jeden. Wystarczy zaznaczyć wszystkie pliki PDF, które chcę scalić a następnie kliknąć prawym przyciskiem myszy i wybrać opcję Quick Actions -> Create PDF (Szybkie akcje -> Utwórz plik PDF).
W folderze postanie nowy scalony plik PDF. I tyle. Nie trzeba instalować dodatkowych programów, ani nic robić!

Windows
Dość długo szukałem jakiegoś podobnego rozwiązania dla systemu operacyjnego Windows (pomimo, że lubię ekosystem Appla, to jednak dość sporo pracuję pod Windowsem).
Niestety, ale gdy znajdowałem jakiś darmowy program okazywało się, że jest to niby darmowa 30-dniowa wersja, albo w grę wchodzą tylko płatne rozwiązania. W końcu natrafiłem na ciekawe zestawienie 8 darmowych programów do łączenia/dzielenia plików PDF.
Od razu moją uwagę przykuł program FaxTool. Jest on bardzo prosty w obsłudze. Otóż w oknie Eksloratora Windows należy zaznaczyć pliki PDF, które chcemy scalić a następnie przeciągnąć je na okienko programu FaxTool. Powstanie wtedy w tym samym folderze nowy scalony plik o nazwie <nazwa pierwszego pliku>_merged.pdf. Program ma też funkcję dzielenia plików PDF (każda strona to osobny plik). Wystarczy na okienko przeciągnąć tylko jeden kilkustronicowy plik a w tym samym folderze pojawi się tyle plików PDF, ile stron miał ten kilkustronicowy plik PDF.

Program co prawda jest z 2009 roku i ma ascetyczny interfejs ale podoba mi się w nim jedna rzecz: jeśli chce połączyć ze sobą kilka plików PDF to nie musze przeklikiwać się przez kilka okien kreatora (jak to jest w innych programach) tylko jednym ruchem przeciągam na okienko pliki i od razu mam to co chciałem. Jest to świetne rozwiązanie, gdy ową operację wykonuję każdego dnia.
Wsadowe przetwarzanie plików
Jesteś programistą? Chcesz hurtowo łączyć/dzielić pliki? Znalazłem taką ciekawostkę. Otóż program FaxTool po uruchomieniu wypakowuje z siebie plik pdftk.exe i zapisuje go w folderze %TEMP%. Program ten jest z roku 2006 i w tamtych czasach był wydawany na darmowej licencji wraz z kodem źródłowym. Ten jeden plik możesz skopiować do dowolnego folderu i używać w swoich skryptach. Aby połączyć ze sobą kilka plików należy w konsoli wydać następujące polecenie:
pdftk 1.pdf 2.pdf cat output all.pdf
Obecnie ze strony pdftk.com można pobrać nowszą wersję programu wraz z graficznym interfejsem użytkownika (jest to graficzna nakładka na plik pdftk.exe). Istnieje wersja darmowa, która jest dość okrojona (ale łączy pliki PDF, zablokowane są bajery takie jak np. obracanie stron, znak wodny). W folderze C:\Program Files (x86)\PDFtk\bin znalazłem nowszą wersję pliku pdftk.exe (należy go skopiować do innego folderu wraz z plikiem libiconv2.dll).
Niestety, ale w nowszej wersji nie otrzymujemy licencji na rozpowszechnianie pliku pdftk.exe czyli jeśli chciałbyś napisać jakiś program do obróbki plików PDF, który by korzystał z pliku pdftk.exe i go dystrybuować musisz wykupić odpowiednią licencję (pdftk server).
Linux
Pod Linuxem również można zainstalować forka programu pdftk wydając w konsoli polecenie sudo apt install pdftk.