Jeśli potrzebujesz narzędzia z prostym GUI, wypróbuj pdfshuffler . Umożliwia łączenie plików PDF, a także przestawianie i usuwanie stron. W przypadku przetwarzania wsadowego i / lub bardziej skomplikowanych zadań pdftk jest oczywiście bardziej wydajny.
@PushpakDagade ghostscript miesza się z adnotacjami, zwłaszcza komentarzami, które zostały zaznaczone (pole wyboru zaznaczone znacznikiem wyboru), nie będzie już tego znaku wyboru. Nie wiem, jak to obejść. Ponadto, jeśli scalisz plik PDF w wersji 1.5 + 1.6, formatem wyjściowym będzie domyślnie 1,4. To dziwne zachowanie.
Jonathan Komar
2
pdftk ma niezwykłe zastosowanie, w którym polecenia cati outputnastępujące po nim argumenty wejściowe są różne, a następnie ponownie argument wyjściowy.
Jeff Puckett
3
Wygląda na to, że pakiet został usunięty w 2018.04.
Nicolas Raoul,
1
@NicolasRaoul Właśnie pobrałem go jako instalację błyskawiczną.
Maks.
161
Ghostscript to pakiet (domyślnie dostępny w Ubuntu), który umożliwia przeglądanie lub drukowanie plików PostScript i PDF do innych formatów lub konwersję tych plików do innych formatów.
Aby użyć Ghostscript do łączenia plików PDF, wpisz coś takiego:
gs starts the Ghostscript program.
-dBATCH once Ghostscript processes the PDF files, it should exit.
If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE forces Ghostscript to process each page without pausing for user interaction.
-q stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite
tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
tells Ghostscript to save the combined PDF file with the specified name.
-dAutoRotatePages=/None
Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.
Twoje pliki wejściowe nawet nie muszą być plikami PDF. Możesz także użyć plików PostScript lub EPS lub dowolnej ich kombinacji.
Z Ghostscript możesz zrobić wiele. Możesz przeczytać jego dokumentację, aby uzyskać więcej informacji.
To prawda, ale jest niesamowicie wolny. Właśnie próbowałem połączyć 45 x 400 KB, jednostronicowe pliki PDF. pdftkzajęło 0m0.484s, gszajęło 1m32.898s (to prawie 200x wolniej) Plik z gsbył jednak o około 21% mniejszy.
aidan
2
to polecenie działa również, jeśli używasz symbolu wieloznacznego do łączenia listy plików. przykładowo wymienić file1.pdf file2.pdfzfile*.pdf
Antonios Hadjigeorgalis
2
Dla mnie gspracowałem z niektórymi „niezgodnymi” plikami PDF, pdftkktóre po prostu działałyby wiecznie.
ntc2
1
Użyj -dPDFSETTINGS=/prepressopcji poprawy jakości. Wszystkie dzięki dzięki pierwotnemu współpracownikowi
Mohnishowi
6
@AntoniosHadjigeorgalis tylko w celach informacyjnych i dobrego zrozumienia: to nie jest komenda wspieranie symbole wieloznaczne, to faktycznie powłoka wymianie file*.pdfz file1.pdf file2.pdfprzed przekazaniem argumenty do komendy.
Midgard
81
Korzystasz również z pdfunite do łączenia dokumentów pdf:
OSTRZEŻENIE: Istniejący plik out.pdfzostanie zastąpiony bez ostrzeżenia, więc pdfunite *.pdfnie będzie działać zgodnie z oczekiwaniami.
krlmlr
1
@krlmlr Zawsze możesz umieścić dane wyjściowe w innym katalogu.
BЈовић
W porządku, cprównież zastępuje ostatni argument bez ostrzeżenia. To jest tylko dla pędzących użytkowników (jak ja) - miałem szczęście, że miałem kopię zapasową tego pliku ...
krlmlr
1
Upvote: Jest to proste narzędzie wiersza polecenia bez graficznego interfejsu użytkownika, jak wiele innych odpowiedzi tutaj. Ładnie ujmuje złożoność (w dużej mierze równoważnego) rozwiązania GhostScript.
tripleee
1
Jest to również bardzo szybkie. Dobrze działa. Na bardzo wolnym serwerze (aws t1.micro), gs zajmuje 9 sekund, pdftk zajmuje 4 sekundy, a ten pdfunite zajmuje 0,9 sekundy na scalenie dwóch plików!
Podstawienie procesu jest zbędne, a nawet potencjalnie szkodliwe . Poprawnym, znacznie prostszym wierszem poleceń jest pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdfbrak kolejności ls -v. Oczywistą i trywialną poprawką jest nazywanie plików tak, aby były naturalnie sortowane w kolejności, w której chcesz je uwzględnić. Jeśli absolutnie chcesz ls -v, możesz przynajmniej zgubić fajkę tr, co tutaj nic nie da.
Chciałem, żeby to było bardzo szybkie, więc użyłem pdfunite
pdfunite akceptuje ścieżki plików tylko w środku polecenia, więc musiałem podrapać się po głowie, aby zarządzać spacjami w ścieżkach plików. Przyjąłem więc założenie, że wszystkie ścieżki plików zaczynają się od „/ home /” i kończą na „.pdf”
i nazwij go „merge_pdfs.sh” (na przykład). Następnie ustaw go jako wykonywalny (kliknij prawym przyciskiem myszy plik merge_pdfs.sh -> karta Uprawnienia -> zaznacz „Zezwalaj na uruchamianie pliku jako programu”
Teraz, aby scalić pliki pdf, musisz je tylko wybrać -> kliknij prawym przyciskiem myszy -> skrypty -> merge_pdfs.sh i utworzy plik „scaled.pdf” w tym samym katalogu
Odpowiedzi:
PDF-Shuffler
Jeśli potrzebujesz narzędzia z prostym GUI, wypróbuj pdfshuffler . Umożliwia łączenie plików PDF, a także przestawianie i usuwanie stron. W przypadku przetwarzania wsadowego i / lub bardziej skomplikowanych zadań pdftk jest oczywiście bardziej wydajny.
źródło
pdfshuffler
działa dobrze w dniu 14.04 amd64.pdftk
Aby scalić dwa pliki pdf
file1.pdf
ifile2.pdf
:Więcej informacji dostępnych tutaj Droga powrotna .
źródło
cat
ioutput
następujące po nim argumenty wejściowe są różne, a następnie ponownie argument wyjściowy.Ghostscript to pakiet (domyślnie dostępny w Ubuntu), który umożliwia przeglądanie lub drukowanie plików PostScript i PDF do innych formatów lub konwersję tych plików do innych formatów.
Aby użyć Ghostscript do łączenia plików PDF, wpisz coś takiego:
Oto krótkie wyjaśnienie polecenia:
Twoje pliki wejściowe nawet nie muszą być plikami PDF. Możesz także użyć plików PostScript lub EPS lub dowolnej ich kombinacji.
Z Ghostscript możesz zrobić wiele. Możesz przeczytać jego dokumentację, aby uzyskać więcej informacji.
Źródło
źródło
pdftk
zajęło 0m0.484s,gs
zajęło 1m32.898s (to prawie 200x wolniej) Plik zgs
był jednak o około 21% mniejszy.file1.pdf file2.pdf
zfile*.pdf
gs
pracowałem z niektórymi „niezgodnymi” plikami PDF,pdftk
które po prostu działałyby wiecznie.-dPDFSETTINGS=/prepress
opcji poprawy jakości. Wszystkie dzięki dzięki pierwotnemu współpracownikowifile*.pdf
zfile1.pdf file2.pdf
przed przekazaniem argumenty do komendy.Korzystasz również z pdfunite do łączenia dokumentów pdf:
źródło
out.pdf
zostanie zastąpiony bez ostrzeżenia, więcpdfunite *.pdf
nie będzie działać zgodnie z oczekiwaniami.cp
również zastępuje ostatni argument bez ostrzeżenia. To jest tylko dla pędzących użytkowników (jak ja) - miałem szczęście, że miałem kopię zapasową tego pliku ...Łańcuch PDF
Bardzo dobrym rozwiązaniem jest PDFChain. Jest to interfejs użytkownika PDFTK, w którym można łączyć, dzielić, a nawet dodawać tła do plików PDF.
źródło
apt
nie przyniosła jednak żadnych rezultatów: /Wypróbuj PDFMod, pochodzi z projektu GNOME:
https://wiki.gnome.org/Apps/PdfMod
źródło
Alternatywnym podejściem jest użycie lateksu, jak wyjaśniono w tym poście ( bez dostępu do konta root przy założeniu, że masz zainstalowany pdflatex ): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by- lateks
Jest to przydatne w przypadku, gdy nie masz wspomnianych narzędzi ani uprawnień roota, ale masz pdflatex.
Kopiuję poniższy kod tex, aby scalić
file1.pdf
ifile2.pdf
. Utwórz plik o nazwieoutput.tex
i umieść:Aby skompilować, po prostu użyj:
pdflatex output.tex
Scalony plik zostanie nazwany jako
output.pdf
.źródło
Korzystam z pdfseparate, aby wyodrębnić określone strony z dużego pliku pdf:
a potem dołączam do nich wszystkich za pomocą polecenia:
To łączy:
w:
Być może istnieje łatwiejszy sposób radzenia sobie ... :-)
źródło
pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdf
brak kolejnościls -v
. Oczywistą i trywialną poprawką jest nazywanie plików tak, aby były naturalnie sortowane w kolejności, w której chcesz je uwzględnić. Jeśli absolutnie chceszls -v
, możesz przynajmniej zgubić fajkętr
, co tutaj nic nie da.Możesz także użyć jPDFTweak , pdfsam lub pdfjam .
(To powiedziawszy, używam pdftk.)
źródło
Użyj pdfsam http://www.pdfsam.org/, który jest bardzo dobry do dzielenia i łączenia plików pdf
źródło
Za pomocą pdftk można ogólnie łączyć i modyfikować dokumenty PDF. Alternatywnie istnieje usługa online, aby to zrobić: http://www.pdfmerge.com/
źródło
Oto moje podejście:
Oto wynik:
Juste wklej ten skrypt
i nazwij go „merge_pdfs.sh” (na przykład). Następnie ustaw go jako wykonywalny (kliknij prawym przyciskiem myszy plik merge_pdfs.sh -> karta Uprawnienia -> zaznacz „Zezwalaj na uruchamianie pliku jako programu”
Teraz, aby scalić pliki pdf, musisz je tylko wybrać -> kliknij prawym przyciskiem myszy -> skrypty -> merge_pdfs.sh i utworzy plik „scaled.pdf” w tym samym katalogu
Mam nadzieję, że to pomoże!
źródło