[linux] Unisci / converti più file PDF in un unico PDF


5 Answers

Prova il buon ghostscript:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf mine1.pdf mine2.pdf

o anche in questo modo per una versione migliorata per PDF a bassa risoluzione (grazie ad Adriano per averlo indicato):

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged.pdf mine1.pdf mine2.pdf

In entrambi i casi la risoluzione di uscita è molto più alta e migliore di quella con convertito:

convert -density 300x300 -quality 100 mine1.pdf mine2.pdf merged.pdf

In questo modo non avresti bisogno di installare altro, basta lavorare con quello che hai già installato nel tuo sistema (almeno entrambi vengono di default nel mio rhel).

Spero che questo ti aiuti,

AGGIORNAMENTO: prima di tutto grazie per tutti i vostri bei commenti !! solo un suggerimento che potrebbe funzionare per voi ragazzi, dopo aver fatto ricerche su Google, ho trovato un trucco superbo per ridurre le dimensioni dei PDF, ho ridotto con esso un PDF di 300 MB a soli 15 MB con una risoluzione accettabile! e tutto questo con il buon ghostscript, eccolo qui:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf

Saluti!!

Question

Come posso unire / convertire più file PDF in un unico file PDF di grandi dimensioni?

Ho provato quanto segue, ma il contenuto del file di destinazione non era come previsto:

convert file1.pdf file2.pdf merged.pdf

Ho bisogno di una soluzione a riga di comando (CLI) molto semplice / di base. Il migliore sarebbe se potessi pdf2ps l'output dell'unione / conversione direttamente in pdf2ps (come originariamente tentato nella mia domanda precedente qui: pipe Linux (convert -> pdf2ps -> lp) ).




Puoi usare sejda-console , gratis e open source. Decomprimilo ed esegui sejda-console merge -f file1.pdf file2.pdf -o merged.pdf

Conserva i segnalibri, collega le annotazioni, gli acroformi ecc. In realtà ha un sacco di opzioni con cui puoi giocare, basta eseguire sejda-console merge -h per vederli tutti.




Ecco un metodo che utilizzo che funziona ed è facile da implementare. Ciò richiederà sia le librerie fpdf che fpdi che possono essere scaricate qui:

require('fpdf.php');
require('fpdi.php');

$files = ['doc1.pdf', 'doc2.pdf', 'doc3.pdf'];

$pdf = new FPDI();

foreach ($files as $file) {
    $pdf->setSourceFile($file);
    $tpl = $pdf->importPage(1, '/MediaBox');
    $pdf->addPage();
    $pdf->useTemplate($tpl);
}

$pdf->Output('F','merged.pdf');



Apache PDFBox http://pdfbox.apache.org/

PDFMerger Questa applicazione prenderà un elenco di documenti pdf e li unirà, salvando il risultato in un nuovo documento.

utilizzo: java-jar pdfbox-app-xyzjar PDFMerger "File PDF di origine (2 ..n)" "File PDF di destinazione"




Anche pdfjoin a.pdf b.pdf creerà un nuovo b-joined.pdf con i contenuti di a.pdf e b.pdf




Mi piace l'idea di Chasmo, ma preferisco usare i vantaggi di cose come

convert $(ls *.pdf) ../merged.pdf

Fornire più file di origine per convert lead per unirli in un pdf comune. Questo comando unisce tutti i file con estensione .pdf nella directory effettiva in merged.pdf nella directory principale.




Related