Vraag Hoe meerdere PDF-bestanden samenvoegen?


Er zijn veel software in Windows om PDF-bestanden samen te voegen, maar hoe kunnen we hetzelfde doen in Ubuntu?


281
2017-08-21 06:11


oorsprong


ik vond deze link - Grijesh Chauhan


antwoorden:


PDF-Shuffler  Install PDF-Shuffler 

Als je een tool met een eenvoudige GUI wilt, probeer dan pdfshuffler. Hiermee kunt u PDF's samenvoegen en pagina's herschikken en verwijderen. Voor batchverwerking en / of meer gecompliceerde taken is pdftk natuurlijk krachtiger.

Screenshot of PDF-Shuffler


171
2017-08-21 10:08



Ik probeerde dit - het werkte niet op 10.04 - David Oneill
Op 12.04 klaagt pdfshuffler altijd dat er "te veel waarden zijn om uit te pakken", waardoor het onbruikbaar wordt. - despens
Installeert en werkt als een charme op 14.04. Heel erg bedankt!! - Zlatty
Ik kan het ook bevestigen pdfshuffler werkt goed op 14.04 amd64. - conualfy
Werkt ook geweldig op 16.04.1 - Sanjay Manohar


pdftkInstall pdftk

Om twee pdf-bestanden samen te voegen, file1.pdf en file2.pdf:

pdftk file1.pdf file2.pdf cat output mergedfile.pdf

Meer info beschikbaar hierWay Back Machine.


274
2017-08-21 07:42



pdftk is buggy - bugs.launchpad.net/ubuntu/+source/pdftk/+bug/779908. gs is misschien traag, maar doet het werk perfect [IgnitE's antwoord] - Pushpak Dagade
Bedankt! Pdftk doet de eenvoudige, eenvoudige samenvoeging redelijk goed. Meer dan genoeg voor mijn behoeften. YMMV. - Marky
@PushpakDagade ghostscript maakt het mis met annotaties, met name opmerkingen die zijn aangevinkt (aanvinkvakje aangevinkt met vinkje), zullen dit vinkje niet meer hebben. Ik ben me niet bewust van een manier om dit te omzeilen. Als u PDF v1.5 + 1.6 samenvoegt, is de uitvoer standaard 1,4. Dat is raar gedrag. - Jonathan Komar
pdftk heeft een ongewoon gebruik bij opdrachten cat en output volg variadische invoerargumenten en nogmaals gevolgd door een uitvoerargument. - Jeff Puckett
Het pakket lijkt te zijn verwijderd in 2018.04. - Nicolas Raoul


Ghostscript is een pakket (standaard beschikbaar in Ubuntu) waarmee u PostScript- en PDF-bestanden kunt bekijken of afdrukken naar andere indelingen of deze bestanden naar andere indelingen kunt converteren.
Om Ghostscript te gebruiken om PDF-bestanden te combineren, typt u zoiets als het volgende:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf  file1.pdf file2.pdf

Hier is een korte uitleg van het commando:

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.

Uw invoerbestanden hoeven niet eens PDF-bestanden te zijn. U kunt ook PostScript- of EPS-bestanden of een combinatie van de drie gebruiken.

Er is veel wat je kunt doen met Ghostscript. Je kunt het lezen documentatie voor meer details.

Bron


125
2018-02-17 02:27



Klopt, maar dat is het ongelooflijk langzaam. Ik heb zojuist 45 x 400.000, enkele pagina's PDF's aaneengeschakeld. pdftk nam 0m0.484s, gs duurde 1m32.898s (dat is bijna 200x langzamer) Het bestand van gs was echter ongeveer 21% kleiner. - aidan
deze opdracht werkt ook als u een jokerteken gebruikt voor de lijst met bestanden die moeten worden gecombineerd. vervang bijvoorbeeld file1.pdf file2.pdf met file*.pdf - Antonios Hadjigeorgalis
Voor mij gs werkte met een aantal "niet-conforme" PDF's waar pdftk zou gewoon voor altijd rennen. - ntc2
Dit werkte perfect voor mijn behoefte! - dsh
@AntoniosHadjigeorgalis Gewoon voor referentie en goed begrip: dat is niet het commando dat jokertekens ondersteunt, dat is eigenlijk de shell die vervangt file*.pdf met file1.pdf file2.pdf voordat de argumenten aan het commando worden doorgegeven. - Midgard


Je gebruikt ook pdfunite om pdf-documenten samen te voegen:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf

55
2017-11-12 12:09



WAARSCHUWING: een bestaand bestand out.pdf wordt zonder waarschuwing overschreven, dus pdfunite *.pdf zal niet werken zoals verwacht. - krlmlr
@krlmlr U kunt de uitvoer altijd in een andere map plaatsen. - BЈовић
Eerlijk genoeg, cp overschrijft ook laatste argument zonder waarschuwing. Dit is alleen voor meeslepende gebruikers (zoals ikzelf) - ik had het geluk dat ik een back-up had van het bestand in kwestie ... - krlmlr
Upvote: dit is een eenvoudige opdrachtregelhulpprogramma zonder een click-and-drool GUI zoals veel van de andere antwoorden hier. Het geeft een mooie inkapseling van de complexiteit van de (grotendeels gelijkwaardige) GhostScript-oplossing. - tripleee
Dit is ook erg snel. Werkt het goed? Op een zeer trage server (aws t1.micro), duurt het 9 seconden, pdftk neemt 4 seconden in beslag en deze pdfunite neemt 0.9 seconden in beslag voor het samenvoegen van twee bestanden! - rsmoorthy


PDF-ketting  Install PDF Chain 

Een zeer mooie oplossing is PDFChain. Het is GUI is een frontend van PDFTK, waar je een achtergrond van je PDF-bestanden kunt samenvoegen, splitsen of zelfs toevoegen.


33
2018-01-31 16:16



Dit is het beste antwoord. Het werkt perfect, ongeacht de Ubuntu-versie. - Paulo Coghi
Werkte zonder problemen aan Ubuntu 14.04! - my account_ram
Werkt prima op Ubuntu 18.04! - orschiro
zo, dat het in 18.04 uit jebuntu-software is verwijderd (!?) - user2413


Probeer PDFMod eens uit, het komt uit het GNOME-project:

https://wiki.gnome.org/Apps/PdfMod


10
2017-09-16 21:35



doet niet samenvoegen. - user2413


Ik gebruik pdfseparate om specifieke pagina's uit een groot pdf-bestand te extraheren:

pdfseparate -f  156 -l 157 input.pdf  output_%d.pdf 
pdfseparate -f  1   -l 2   input.pdf  output_%d.pdf 

en op de avond neem ik ze allemaal mee via commando:

pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date  +%Y-%m-%d_%H_%M_%S ).pdf

Dit sluit aan bij:

output_1.pdf output_2.pdf output_156.pdf output_157.pdf  

in:

out2014-12-14_23_25_36.pdf

Misschien is er een eenvoudigere manier om hiermee om te gaan ... :-)


6
2017-12-14 22:37



De procesvervanging is overbodig en mogelijk zelfs schadelijk. Een correcte en veel eenvoudiger commandoregel is pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdf maar het mist de volgorde van ls -v. Een voor de hand liggende en triviale oplossing is om uw bestanden een naam te geven, zodat ze natuurlijk sorteren in de volgorde waarin u ze wilt opnemen. Als je absoluut wilt ls -v, je kunt op zijn minst de pijp kwijtraken tr, die hier niets bereikt. - tripleee


Je kan ook gebruiken jPDFTweak, pdfsam of pdfjam.

(Dat gezegd hebbende, gebruik ik pdftk.)


5
2017-09-16 21:42





Gebruik pdfsam http://www.pdfsam.org/ het is erg goed voor het splitsen en samenvoegen van pdf's


5
2018-06-03 13:32





Je kunt gebruiken pdftk om PDF-documenten in het algemeen samen te voegen en aan te passen. Als alternatief is er een online service om precies dat te doen: http://www.pdfmerge.com/


3
2017-08-21 06:29





Een alternatieve benadering is om Latex te gebruiken zoals uitgelegd in dit bericht (zonder root-toegang ervan uitgaande dat je hebt pdflatex geïnstalleerd): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by-latex

Dit is handig in het geval dat u niet beschikt over de genoemde tools of root-rechten, maar u hebt wel pdflatex.

Ik kopieer de tex-code hieronder om samen te voegen file1.pdf en file2.pdf. Maak een bestand met de naam output.tex en zet:

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}

En om te compileren, gebruik gewoon: pdflatex output.tex

Het samengevoegde bestand krijgt de naam als output.pdf.


3
2018-02-02 18:23