Come posso unire più .pngfile in un unico file PDF in Unix?
Risposte:
Guardando la documentazione su ImageMagick, potrebbe essere facile come:
convert 1.png 2.png myfile.pdf
Se ciò non funziona, PDFjam afferma di essere in grado di risolvere il tuo problema.
-qualityopzione ma la dimensione del file è sempre ~ 9,5 MiB.
convert *.jpg file.pdf
-compress jpeg -quality 50. Vedi la mia risposta
Se voglio unire alcune scansioni in un unico file PDF, lo faccio:
pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png
Questo ti dà un documento PDF con le dimensioni della pagina DIN-A4, dove ogni pngfile è centrato sulla propria pagina. Le immagini troppo grandi per una pagina DIN-A4 vengono ridimensionate proporzionalmente per adattarsi a una pagina. Le immagini più piccole non vengono ridimensionate (non ingrandite).
Devi nominare tutti i pngfile sulla riga di comando, ma puoi anche usare i caratteri jolly per unire ad esempio tutti i file png nella directory corrente:
pdfjoin --a4paper --fitpaper false --rotateoversize false *.png
Il pdfjoincomando fa parte di PDFjam come menzionato nella risposta di Jeremiah Willcock. Quindi molto probabilmente dovrai installare un pacchetto denominato pdfjamo texlive-extra-utilscon il tuo gestore di pacchetti di distro. PDFjam è in grado di utilizzare pngfile come input dalla versione 2.07, rilasciata nel 2010-11-13.
pdfjoinè disponibile nel texlive-extra-utilspacchetto su alcune piattaforme. Puoi sempre installarlo anche dalla fonte.
Lo strumento di conversione di ImageMagick è la mia preferenza.
Il programma convert è un membro della suite di strumenti ImageMagick. Usalo per convertire tra formati di immagine e ridimensionare un'immagine, sfocare, ritagliare, rimuovere macchie, dithering, disegnare, capovolgere, unire, ricampionare e molto altro ancora.
convert [input-option] input-file [output-option] output-file`
Se vuoi che i file di immagine (e quindi la loro qualità e dimensione del file) non vengano alterati e inserisci un contenitore PDF intorno a loro:
convert In.png In-2.png Someother-*.png Result.pdf
Nel caso in cui desideri avere un file di dimensioni inferiori e stai bene con una perdita di qualità, puoi prima convertirli nel formato JPEG. (ImageMagick supporta anche la modifica del livello di compressione PNG, ma in genere i file di input utilizzano già il livello più alto.)
convert 1.png 2.png -compress jpeg -quality 50 Result.pdf
Utilizza un valore compreso tra 0 e 100 per l' qualityopzione.
In alternativa, puoi raggiungere una dimensione del file (e una qualità) inferiore ricampionando le immagini a una certa risoluzione.
convert *.png 2.png -resample 300 Result.pdf
Il valore per si resampleriferisce al numero di pixel per pollice. ImageMagick legge la densità originale dalla parte EXIF delle immagini in ingresso, tornando a 72 dpi. È possibile utilizzare il densityparametro per impostare una risoluzione personalizzata per le immagini di input.
Ovviamente si può anche combinare i compress, qualitye resampleparametri.
L'ho rubato, ma questa è la soluzione che ho usato da Jeremiah Willcock e da un altro sito web di risposte. Non scavando nella storia al momento. Ho mentito, l'ho fatto. (Tully @ https://askubuntu.com/a/626301 )
Avevo bisogno di un file abbastanza piccolo da poter essere inviato via email.
Per combinare le immagini in un PDF (dalla directory di lavoro utilizzare la riga di comando:
user@box:/home/user/scans/:$
convert 1.png 2.png convertoutput.pdf
Per rimpicciolire usando ghostscript dopo la combinazione (l'ho usato quasi sul sistema predefinito di kde):
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
-dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
-r150 -sOutputFile=output.pdf convertoutput.pdf
Il mio file aveva 14 immagini (19 MB dopo la conversione, gs lo ha reso 1,6 MB, la qualità era comunque ottima). Viene chiamato il file di output output.pdf.
-compress jpeg -quality 50. Vedi la mia risposta