User Tools

Site Tools


doc:appunti:software:convert_pdf

Conversione in PDF di pagine acquisite con scanner

Il programma convert fornito dal pacchetto imagemagick è in grado di convertire una serie di immagini (es. acquisite con scanner) in un file .pdf multipagina. Ci sono alcuni accorgimenti che possono migliorare il risultato.

Pre-processing

Con questo comando:

convert image_1.png -rotate 180 -deskew 30% -crop 914x1382+320+363 -level 3%,79% page_1.png

si effettuano i seguenti aggiustamenti:

  • Rotazione di 180 gradi (capovolgere)
  • Raddrizzamento (deskew) per correggere delle leggere inclinazioni della pagina (le righe tornano ad essere perfettamente orizzontali).
  • Ritaglio di una porzione della pagina.
  • Aggiustamento dei livelli di nero e bianco: tutto quello che è sotto il 3% di luminosità diventa nero, quello sopra il 79% diventa bianco.

Dimensione pagina

La conversione finale in PDF può (deve!) essere controllata con i parametri -page e -density

Ecco un esempio per un'immagine A4 acquisita a 300 dpi:

convert -page 2480x3508 -density 300 pag_a4.jpg pag_a4.pdf

Questo invece un esempio su delle pagine di un libro in formato non A4:

convert -page 914x1382 -density 60 page_1.png page_2.png page_3.png book.pdf

in particolare il parametro -density influisce sulla dimensione in fase di stampa (almeno utilizzando Okular).

Attenzione e non utilizzare contemporaneamente file PNG e JPG, perché in questo caso il programma convert non è in grado di produrre un PDF con dimensioni di pagina omogenee.

Per controllare la correttazza del parametro -density si utilizza pdfinfo:

pdfinfo -f 1 -l 5 book.pdf
Title:          book
Producer:       ImageMagick 6.7.7-10 2012-11-06 Q16 http://www.imagemagick.org
CreationDate:   Sat Jul  6 09:33:38 2013
ModDate:        Sat Jul  6 09:33:38 2013
Tagged:         no
Pages:          2
Encrypted:      no
Page    1 size: 431.811 x 652.913 pts
Page    2 size: 431.811 x 652.913 pts
File size:      191679 bytes
Optimized:      no
PDF version:    1.3

Le stesse informazioni si ottengono anche con il programma identify (sempre di imagemagick):

identify -format "%f[%s] :  %W x %H\n" book.pdf
book.pdf[0] :  432 x 653
book.pdf[1] :  432 x 653

Aggiustare la density finché la dimensione della pagina in punti (pts) non torna uguale al previsto, cioè:

(dimensione in pixel) / (risoluzione acquisizione in dpi) * 72 = (dimensione in pts)

Dove 72 è il numero di punti che stanno in un pollice. Ad esempio nel nostro caso:

914 / 150 * 72 = 438.72

La dimensione di pagina ottenuta con density = 60 è 431.811, un valore molto vicino all'originale 438.72.

doc/appunti/software/convert_pdf.txt · Last modified: 2014/07/23 17:52 by niccolo