Domanda Come unire più file PDF?


Ci sono molti software in Windows per unire i file PDF, ma come possiamo fare lo stesso in Ubuntu?


281
2017-08-21 06:11


origine


ho trovato questo link - Grijesh Chauhan


risposte:


PDF-Shuffler  Install PDF-Shuffler 

Se vuoi uno strumento con una semplice interfaccia grafica, prova pdfshuffler. Permette l'unione di PDF e la riorganizzazione e l'eliminazione di pagine. Per l'elaborazione in batch e / o le attività più complicate, pdftk è ovviamente più potente.

Screenshot of PDF-Shuffler


171
2017-08-21 10:08



Ho provato questo - non ha funzionato su 10.04 - David Oneill
Il 12.04, pdfshuffler si lamenta sempre che ci sono "troppi valori da decomprimere", rendendolo inutilizzabile. - despens
Installa e funziona come un fascino il 14.04. Grazie mille!! - Zlatty
Posso anche confermare pdfshuffler funziona bene il 14.04 amd64. - conualfy
Funziona anche alla grande il 16.04.1 - Sanjay Manohar


pdftkInstall pdftk

Per unire due file PDF, file1.pdf e file2.pdf:

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

Altre informazioni disponibili QuiWay Back Machine.


274
2017-08-21 07:42



pdftk è bacato bugs.launchpad.net/ubuntu/+source/pdftk/+bug/779908. gs potrebbe essere lento, ma funziona perfettamente [risposta di IgnitE] - Pushpak Dagade
Grazie! Pdftk semplifica la semplice fusione di base. Più che sufficiente per i miei bisogni. YMMV. - Marky
@PushpakDagade ghostscript fa confusione con le annotazioni, in particolare i commenti che sono stati controllati (casella di controllo spuntata con segno di spunta), non avranno più questo segno di spunta. Non sono a conoscenza di un modo per aggirare questo. Inoltre, se unisci PDF v1.5 + 1.6, l'output sarà 1.4 per impostazione predefinita. Questo è un comportamento strano. - Jonathan Komar
pdftk ha un uso insolito in cui i comandi cat e output seguire gli argomenti di input variadici e seguiti di nuovo da un argomento di output. - Jeff Puckett
Il pacchetto sembra essere stato rimosso nel 2018.04. - Nicolas Raoul


Ghostscript è un pacchetto (disponibile di default in Ubuntu) che consente di visualizzare o stampare file PostScript e PDF in altri formati o di convertirli in altri formati.
Per usare Ghostscript per combinare file PDF, digita qualcosa come la seguente:

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

Ecco una breve spiegazione del comando:

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.

I tuoi file di input non hanno nemmeno bisogno di essere file PDF. Puoi anche usare file PostScript o EPS o qualsiasi combinazione dei tre.

C'è molto che puoi fare con Ghostscript. Puoi leggere il suo documentazione per ulteriori dettagli.

fonte


125
2018-02-17 02:27



Vero, ma lo è incredibilmentelento. Ho appena provato a concatenare 45 x 400K, PDF a pagina singola. pdftk ha preso 0m0.484 s, gs preso 1m32.898s (che è quasi 200x più lento) Il file da gs era circa il 21% più piccolo però. - aidan
questo comando funziona anche se si utilizza un carattere jolly per l'elenco di file da combinare. per esempio, sostituire file1.pdf file2.pdf con file*.pdf - Antonios Hadjigeorgalis
Per me gs ha lavorato con alcuni PDF "non conformi" dove pdftk vorrei solo correre per sempre. - ntc2
Questo ha funzionato perfettamente per il mio bisogno! - dsh
@AntoniosHadjigeorgalis Solo per riferimento e buona comprensione: questo non è il comando che supporta i caratteri jolly, che in realtà è la shell che sostituisce file*.pdf con file1.pdf file2.pdf prima di passare gli argomenti al comando. - Midgard


È inoltre possibile utilizzare pdfunite per unire documenti PDF:

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

55
2017-11-12 12:09



ATTENZIONE: un file esistente out.pdf sarà sovrascritto senza preavviso, quindi pdfunite *.pdf non funzionerà come previsto. - krlmlr
@krlmlr Puoi sempre mettere l'output in un'altra directory. - BЈовић
Giusto, cp sovrascrive anche l'ultimo argomento senza preavviso. Questo è solo per gli utenti di fretta (come me) - Sono stato fortunato ad avere un backup del file in questione ... - krlmlr
Upvote: questo è un semplice strumento da riga di comando senza una GUI click-and-drool come molte delle altre risposte qui. Incapsula bene le complessità della soluzione GhostScript (in gran parte equivalente). - tripleee
Anche questo è molto veloce. Funziona bene Su un server molto lento (aws t1.micro), gs richiede 9 secondi, pdftk impiega 4 secondi e questa pdfunite impiega 0.9 secondi per unire due file! - rsmoorthy


Catena PDF  Install PDF Chain 

Una soluzione molto bella è PDFChain. La sua interfaccia grafica è un frontend di PDFTK in cui puoi unire, dividere o persino aggiungere un po 'di background ai tuoi file PDF.


33
2018-01-31 16:16



Questa è la migliore risposta. Funziona perfettamente, indipendentemente dalla versione di Ubuntu. - Paulo Coghi
Ha funzionato su Ubuntu 14.04 senza problemi! - my account_ram
Funziona alla grande su Ubuntu 18.04! - orschiro
così goo che è stato rimosso dal software Ubuntu nel 18.04 (!?) - user2413


Prova PDFMod, proviene dal progetto GNOME:

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


10
2017-09-16 21:35



non fonde. - user2413


Uso pdfseparate per estrarre pagine specifiche dal grande file pdf:

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

e successivamente mi unisco a loro tutti tramite comando:

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

Questo si unisce:

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

in:

out2014-12-14_23_25_36.pdf

Potrebbe esserci un modo più semplice per farcela ... :-)


6
2017-12-14 22:37



La sostituzione del processo è superflua e potenzialmente persino dannoso. Una corretta è una linea di comando molto più semplice pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdf ma manca l'ordine di ls -v. Una soluzione ovvia e banale è denominare i file in modo che vengano ordinati naturalmente nell'ordine in cui si desidera includerli. Se lo vuoi assolutamente ls -v, puoi almeno perdere la pipa tr, che non porta a nulla qui. - tripleee


Puoi anche usare jPDFTweak, pdfsam o pdfjam.

(Detto questo, io uso pdftk.)


5
2017-09-16 21:42