Come posso unire più .png
file 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.
-quality
opzione 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 png
file è 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 png
file 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 pdfjoin
comando fa parte di PDFjam come menzionato nella risposta di Jeremiah Willcock. Quindi molto probabilmente dovrai installare un pacchetto denominato pdfjam
o texlive-extra-utils
con il tuo gestore di pacchetti di distro. PDFjam è in grado di utilizzare png
file come input dalla versione 2.07, rilasciata nel 2010-11-13.
pdfjoin
è disponibile nel texlive-extra-utils
pacchetto 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' quality
opzione.
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 resample
riferisce 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 density
parametro per impostare una risoluzione personalizzata per le immagini di input.
Ovviamente si può anche combinare i compress
, quality
e resample
parametri.
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