Converti una directory di file JPEG in un singolo documento PDF


242

Ho molti file JPEG in una directory e voglio convertirli in PDF e concatenarli insieme per creare un singolo documento.

Come si può fare?

Preferirei usare la riga di comando, poiché questo processo sarà più veloce.

Risposte:


358

Dal imagemagickpacchetto, utilizzare il convertcomando:

convert *.jpg pictures.pdf

Otterrai un singolo pdf contenente tutto il jpg nella cartella corrente.

Installa IM con:

sudo apt-get install imagemagick

fonte: stackoverflow

Modifica: si noti che le immagini saranno fuori dall'ordine specifico se non sono numerate. se ne hai 10 o più devi nominarli terminando nomefile01.jpg ... nomefile99.jpg ecc. Gli zeri iniziali sono necessari per un corretto ordinamento. Se hai 100 o più 001 ... 999.


1
L'uso del joker non ha funzionato per me, ho dovuto usare la soluzione di @ Alex.
Eusebio,

2
@Eusebius se il jolly non funziona per te con convert, potresti usare un oneliner comefor f in *.jpg; do convert "$f" "$f.pdf"; done; pdftk *.pdf cat output final.pdf
Elder Geek,

1
GrphicMagickgli utenti dovrebbero eseguiregm convert *.jpg pictures.pdf
michaelbn il

Forse i miei file jpg sono troppo grandi e numerosi, ma così facendo ho quasi immediatamente consumato così tanta RAM che il mio sistema da 16 GB ha iniziato a scambiarsi.
RonJohn,

8
Si noti che questo metodo potrebbe ora causare un not authorizederrore; vedere questa domanda correlata (e risposte) .
Jani Uusitalo,

31
convert `ls -1v` file.pdf
  • Questo elencherà un file alla volta in un "ordine naturale" (1,2,3 ...) e procederà con la conversione.

1
Ho provato questo e non ha funzionato per me. numerosi errori indicano che potrebbe avere qualcosa a che fare con gli spazi nei nomi dei file.
Elder Geek,

5
Per risolvere il problema degli spazi, eseguire prima una sostituzione del modello: per ThisFile in * .jpg; do mv "$ ThisFile" "$ {ThisFile // / _}"> / dev / null 2> & 1; d
Simon Mattes,

20

Ha funzionato per me (MA attenzione! Disattiva la compressione e il PDF risultante sarà grande!):

convert page1.jpg page2.jpg +compress file.pdf

o anche:

convert -rotate 90 page\*.jpg +compress file.pdf

Da ubuntuforums.org, +compressaiuta a non appendere. NOTA: + compress disattiva la compressione. La macchina su cui stavo lavorando in quel momento sembrava bloccarsi? Per sempre? (Non ho aspettato per sempre però per scoprirlo.) Senza l'opzione + compress. Il tuo chilometraggio può variare un po '! RTFM sull'opzione imagemagick.org -compress , magari sperimentare con -compress <type> se hai problemi di compressione / sospensione lenti per scoprire cosa funzionerà per te.


13
NON utilizzare l' +compressopzione con il convertcomando come suggerito sopra! In realtà disabilita tutta la compressione lasciandoti con un PDF 10 volte più grande del JPEG originale. Basta non specificare le opzioni di compressione e convertandrà con il formato di compressione di input (JPEG) che in questo caso è la migliore dimensione del file di opzioni. Fonte: http://www.imagemagick.org/script/command-line-options.php#compress

Questo non è intuitivo! Grazie S Minddal. Ha funzionato per me. Presumo che la macchina che stavo usando abbia avuto un problema durante la compressione. Adatterò la risposta.
gennaio

2
quindi ha $ converet *.jpg file.pdffunzionato bene con file di dimensioni inferiori rispetto +compressall'argomento
dottorato

18

Sfortunatamente, convertcambia la qualità dell'immagine prima di "impacchettarla" nel PDF. Quindi, per avere una perdita minima di qualità, è meglio inserire l'originale jpgnel PDF, è necessario utilizzarlo img2pdf.

Uso questi comandi:

  1. Questo comando serve a creare un pdffile da ogni jpgimmagine senza perdita di risoluzione o qualità:

    ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {} .pdf

  2. Questo comando concatenerà le pdfpagine in un unico documento:

    pdftk * .pdf output cat combinato.pdf

  3. E infine, aggiungo un livello di testo OCRed che non cambia la qualità della scansione nei pdf in modo che possano essere ricercati:

    pypdfocr united.pdf

    Un'alternativa all'utilizzo di pypdfocr:

    ocrmypdf Combined.pdf Combined_ocr.pdf


1
Ottimo metodo! L'unico svantaggio senza compressione sarebbe che la dimensione del file .pdf risultante sarebbe molto alta (cioè leggermente più grande di tutte le immagini combinate). Ma ne vale la pena se il documento che stai convertendo è davvero importante!
Gokul NC,

1
Questo ha funzionato bene dopo un converterrore con "tentativo di eseguire un'operazione non consentita dalla politica di sicurezza" PDF ".
Matthias Braun,

12

Apri il file jpg o png con LibreOffice Writer ed esporta come PDF.

Spero che questo sia un modo semplice per esportare pdf.


Sì! LibreOffice è il modo migliore per esportare file di immagini in PDF. Abbiamo il pieno controllo dell'output PDF, inclusi layout di pagina, ridimensionamento di file importati, intestazioni e piè di pagina opzionali e altro ancora ... Mille grazie a user359154 per il suggerimento intelligente!

8

La seguente soluzione si basa anche su ImageMagick convertma è un po 'più sofisticata perché:

  • Consente a tutte le immagini di avere dimensioni diverse, mantenendo le stesse dimensioni della pagina PDF di output (A4 nell'esempio seguente).
  • Centra le immagini sulla pagina PDF.
  • Consente di garantire uno spazio minimo tra i bordi dell'immagine e i bordi della pagina PDF, per consentire la stampa del PDF senza problemi.
  • Non cambia i dati dell'immagine. (Quindi la qualità dell'immagine non viene influenzata, il file PDF ha circa le stesse dimensioni del file dell'immagine e puoi pdfimages -j file.pdf imgriestrarre le immagini originali in seguito con .) Al momento, questo funziona solo con PNG - vedi il commento di @dma_k di seguito .

Istruzioni:

  1. Usa il mio script da questa risposta per convertire ogni immagine nel suo file PDF di una pagina con dimensioni della pagina A4 e bordo del 5% tutto intorno.
  2. Concatena tutti i tuoi file PDF a una pagina con PDFtk come segue:

    pdftk *.pdf cat output out.pdf
    

2
Questo comando mostra che (almeno con le versioni fornite su Ubuntu 16.04) i dati dell'immagine sono interessati:convert some.jpg -format pdf -compress jpeg generated.pdf ; pdfimages -j generated.pdf generated.pdf ; diff -sq some.jpg generated.pdf-000.jpg
Stéphane Gourichon,

2
Stavo giocando con GraphicsMagick e ho notato che esegue la ricompressione delle immagini . La qualità dell'immagine JPEG risultante sulla pagina PDF è molto peggiore. Quindi al momento il modo più sicuro è aggiungere immagini PNG: sono inserite correttamente. Vedi anche questo post .
dma_k,

-3

Ho usato http://convert-my-image.com/ La cosa positiva che puoi fornire (lo stesso sito ma pagina diversa) un archivio di immagini e concatenarle al pdf comune


3
Questo suggerimento presenta almeno tre problemi: (1) sarà lento, a causa del caricamento delle immagini sul sito Web e del download del PDF risultante; (2) espone i tuoi dati a chiunque gestisca quel sito Web, a chiunque possa aver violato tale sito Web e a chiunque sia in rete; (3) non è una soluzione da riga di comando.
sampablokuper,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.