Convertire PDF in immagini e viceversa con ImageMagick

 

ImageMagick è una piccola applicazione che funziona da shell ricca di funzionalià

 

Imagemagick è un interessante tool per gli utenti del sistema operativo GNU/Linux. Per fuzionare ImageMagick ha bisogno di convert. ImageMagick permette di convertire i PDF in immagini (JPG, PNG...) e viceversa.

Se non fosse installato allora si può installare con il seguente apt-get:

sudo apt-get install imagemagick
		

Convertire PDF in immagini

Per convertire un file pdf in un'immagine basta (ovviamente) aprire una schell e richiamare lo script Imagemagick che almeno sulla mia versione di Ubuntu 10.04 è già intallata di default.
ImageMagick internamente usa Ghostscript per convertire i file PDF in immagini. I parametri sono impostati per un deterioramento per trovare un compromesso tra la risoluzione dell'immagine e la dimensione. Per avere un'immagine con una risiluzione più alta sarà necessario ricorrere a Ghostscript.

La conversione è semplice con una sola riga di codice

convert nome_pdf.pdf nome_jpg.jpg
		

Essendo nome_pdf.pdf il file (eventualmente con tutto il pathname) del PDF e nome_jpg il nome (eventualmente con pathname) del file in cui si dovrà chiamare l'immagine. Il nome del file PDF e quello della JPG possono coincidere.

Notare che se il PDF fosse composto da più pagine avendo eseguito il precedente comando si otterrà come risultato:
nome_jpg-0.jpg per la prima pagina, nome_jpg-1.jpg per la seconda pagina, nome_jpg-2.jpg per la terza pagina...

Eventualmente è possibile fare delle conversioni batch come per i seguenti esempi:

convert *.pdf test.jpg
		

Il precedente comando provvederà a convertire tutti i file e chiamandoli con prefisso test-0.jpg,test-1.jpg...
Invece per conservare il nome originale dei singoli è necessario ricorrere al seguente script:

for file in `ls *.pdf`
do
   convert $file `echo $file | sed 's/\.pdf$/\.jpg/'`
done
		

Il precedente script non fa altro che trovare tutti i file PDF e richiamare la conversione come visto precedentemente. Notare che i nomi verranno preservati.
E' importante notare la posizione ed i tipi di apici.

Un altro script batch che realizza lo stesso compito del precedente ma più corto è il seguente:

for x in *.jpg;
	do convert $x `basename $x pdf`jpg;
done
		

Copiandolo ed incollandolo nella shell risolverà celermente il problema di convertire tutti i file di tipo JPG in PDF.

Convertire immagini in PDF

Convert permette anche di effettuare l'operazione opposta, quindi è in grado di convertire un'immagine in un PDF. Come? analogamente a come è stato illustrato precedentemente per la conversione da PDF ad immagine.

Gli esempi precedenti per convertire le immagini in PDF:

convert nome_jpg.jpg nome_pdf.pdf
		

E' l'esempio più semplice che si possa eseguire.

	convert *.jpg test.pdf
		

ed anche il seguente

for file in `ls *.jpg`
do
   convert $file `echo $file | sed 's/\.jpg$/\.pdf/'`
done
		

Infine può essere utile ricordare che è possibile creare un pdf composto da tante pagine quante le figure passate attraverso lo switch "-adjoin". Per esempio per convertire tutte le figure contenute in una cartella basterà dare il seguente comando:

convert -adjoin *.jpg documento.pdf
		

Il manuale ufficiale

Per comodità riporto l'help per sotto mano una guida completa senza cercare tutto da shell.

~$ convert -h
Version: ImageMagick 6.6.2-6 2011-03-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
Features: OpenMP 

Usage: convert [options ...] file [ [options ...] file ...] [options ...] file

Image Settings:
  -adjoin              join images into a single multi-image file
  -affine matrix       affine transform matrix
  -alpha option        activate, deactivate, reset, or set the alpha channel
  -antialias           remove pixel-aliasing
  -authenticate password
                       decipher image with this password
  -attenuate value     lessen (or intensify) when adding noise to an image
  -background color    background color
  -bias value          add bias when convolving an image
  -black-point-compensation
                       use black point compensation
  -blue-primary point  chromaticity blue primary point
  -bordercolor color   border color
  -caption string      assign a caption to an image
  -channel type        apply option to select image channels
  -colors value        preferred number of colors in the image
  -colorspace type     alternate image colorspace
  -comment string      annotate image with comment
  -compose operator    set image composite operator
  -compress type       type of pixel compression when writing the image
  -define format:option
                       define one or more image format options
  -delay value         display the next image after pausing
  -density geometry    horizontal and vertical density of the image
  -depth value         image depth
  -direction type      render text right-to-left or left-to-right
  -display server      get image or font from this X server
  -dispose method      layer disposal method
  -dither method       apply error diffusion to image
  -encoding type       text encoding type
  -endian type         endianness (MSB or LSB) of the image
  -family name         render text with this font family
  -fill color          color to use when filling a graphic primitive
  -filter type         use this filter when resizing an image
  -font name           render text with this font
  -format "string"     output formatted image characteristics
  -fuzz distance       colors within this distance are considered equal
  -gravity type        horizontal and vertical text placement
  -green-primary point chromaticity green primary point
  -intent type         type of rendering intent when managing the image color
  -interlace type      type of image interlacing scheme
  -interline-spacing value
                       set the space between two text lines
  -interpolate method  pixel color interpolation method
  -interword-spacing value
                       set the space between two words
  -kerning value       set the space between two letters
  -label string        assign a label to an image
  -limit type value    pixel cache resource limit
  -loop iterations     add Netscape loop extension to your GIF animation
  -mask filename       associate a mask with the image
  -mattecolor color    frame color
  -monitor             monitor progress
  -orient type         image orientation
  -page geometry       size and location of an image canvas (setting)
  -ping                efficiently determine image attributes
  -pointsize value     font point size
  -precision value     maximum number of significant digits to print
  -preview type        image preview type
  -quality value       JPEG/MIFF/PNG compression level
  -quiet               suppress all warning messages
  -red-primary point   chromaticity red primary point
  -regard-warnings     pay attention to warning messages
  -remap filename      transform image colors to match this set of colors
  -respect-parentheses settings remain in effect until parenthesis boundary
  -sampling-factor geometry
                       horizontal and vertical sampling factor
  -scene value         image scene number
  -seed value          seed a new sequence of pseudo-random numbers
  -size geometry       width and height of image
  -stretch type        render text with this font stretch
  -stroke color        graphic primitive stroke color
  -strokewidth value   graphic primitive stroke width
  -style type          render text with this font style
  -taint               image as ineligible for bi-modal delegate
  -texture filename    name of texture to tile onto the image background
  -tile-offset geometry
                       tile offset
  -treedepth value     color tree depth
  -transparent-color color
                       transparent color
  -undercolor color    annotation bounding box color
  -units type          the units of image resolution
  -verbose             print detailed information about the image
  -view                FlashPix viewing transforms
  -virtual-pixel method
                       virtual pixel access method
  -weight type         render text with this font weight
  -white-point point   chromaticity white point

Image Operators:
  -adaptive-blur geometry
                       adaptively blur pixels; decrease effect near edges
  -adaptive-resize geometry
                       adaptively resize image using 'mesh' interpolation
  -adaptive-sharpen geometry
                       adaptively sharpen pixels; increase effect near edges
  -alpha option        on, activate, off, deactivate, set, opaque, copy
                       transparent, extract, background, or shape
  -annotate geometry text
                       annotate the image with text
  -auto-gamma          automagically adjust gamma level of image
  -auto-level          automagically adjust color levels of image
  -auto-orient         automagically orient (rotate) image
  -bench iterations    measure performance
  -black-threshold value
                       force all pixels below the threshold into black
  -blue-shift factor   simulate a scene at nighttime in the moonlight
  -blur geometry       reduce image noise and reduce detail levels
  -border geometry     surround image with a border of color
  -bordercolor color   border color
  -brightness-contrast geometry
                       improve brightness / contrast of the image
  -cdl filename        color correct with a color decision list
  -charcoal radius     simulate a charcoal drawing
  -chop geometry       remove pixels from the image interior
  -clamp               restrict pixel range from 0 to the quantum depth
  -clip                clip along the first path from the 8BIM profile
  -clip-mask filename  associate a clip mask with the image
  -clip-path id        clip along a named path from the 8BIM profile
  -colorize value      colorize the image with the fill color
  -color-matrix matrix apply color correction to the image
  -contrast            enhance or reduce the image contrast
  -contrast-stretch geometry
                       improve contrast by `stretching' the intensity range
  -convolve coefficients
                       apply a convolution kernel to the image
  -cycle amount        cycle the image colormap
  -decipher filename   convert cipher pixels to plain pixels
  -deskew threshold    straighten an image
  -despeckle           reduce the speckles within an image
  -distort method args
                       distort images according to given method ad args
  -draw string         annotate the image with a graphic primitive
  -edge radius         apply a filter to detect edges in the image
  -encipher filename   convert plain pixels to cipher pixels
  -emboss radius       emboss an image
  -enhance             apply a digital filter to enhance a noisy image
  -equalize            perform histogram equalization to an image
  -evaluate operator value
                       evaluate an arithmetic, relational, or logical expression
  -extent geometry     set the image size
  -extract geometry    extract area from image
  -fft                 implements the discrete Fourier transform (DFT)
  -flip                flip image vertically
  -floodfill geometry color
                       floodfill the image with color
  -flop                flop image horizontally
  -frame geometry      surround image with an ornamental border
  -function name parameters
                       apply function over image values
  -gamma value         level of gamma correction
  -gaussian-blur geometry
                       reduce image noise and reduce detail levels
  -geometry geometry   preferred size or location of the image
  -identify            identify the format and characteristics of the image
  -ift                 implements the inverse discrete Fourier transform (DFT)
  -implode amount      implode image pixels about the center
  -lat geometry        local adaptive thresholding
  -layers method       optimize, merge,  or compare image layers
  -level value         adjust the level of image contrast
  -level-colors color,color
                       level image with the given colors
  -linear-stretch geometry
                       improve contrast by `stretching with saturation'
  -liquid-rescale geometry
                       rescale image with seam-carving
  -median radius       apply a median filter to the image
  -modulate value      vary the brightness, saturation, and hue
  -monochrome          transform image to black and white
  -morphology method kernel
                       apply a morphology method to the image
  -motion-blur geometry
                       simulate motion blur
  -negate              replace every pixel with its complementary color 
  -noise radius        add or reduce noise in an image
  -normalize           transform image to span the full range of colors
  -opaque color        change this color to the fill color
  -ordered-dither NxN
                       add a noise pattern to the image with specific
                       amplitudes
  -paint radius        simulate an oil painting
  -polaroid angle      simulate a Polaroid picture
  -posterize levels    reduce the image to a limited number of color levels
  -profile filename    add, delete, or apply an image profile
  -quantize colorspace reduce colors in this colorspace
  -radial-blur angle   radial blur the image
  -raise value         lighten/darken image edges to create a 3-D effect
  -random-threshold low,high
                       random threshold the image
  -region geometry     apply options to a portion of the image
  -render              render vector graphics
  -repage geometry     size and location of an image canvas
  -resample geometry   change the resolution of an image
  -resize geometry     resize the image
  -roll geometry       roll an image vertically or horizontally
  -rotate degrees      apply Paeth rotation to the image
  -sample geometry     scale image with pixel sampling
  -scale geometry      scale the image
  -segment values      segment an image
  -selective-blur geometry
                       selectively blur pixels within a contrast threshold
  -sepia-tone threshold
                       simulate a sepia-toned photo
  -set property value  set an image property
  -shade degrees       shade the image using a distant light source
  -shadow geometry     simulate an image shadow
  -sharpen geometry    sharpen the image
  -shave geometry      shave pixels from the image edges
  -shear geometry      slide one edge of the image along the X or Y axis
  -sigmoidal-contrast geometry
                       increase the contrast without saturating highlights or shadows
  -sketch geometry     simulate a pencil sketch
  -solarize threshold  negate all pixels above the threshold level
  -sparse-color method args
                       fill in a image based on a few color points
  -splice geometry     splice the background color into the image
  -spread radius       displace image pixels by a random amount
  -strip               strip image of all profiles and comments
  -swirl degrees       swirl image pixels about the center
  -threshold value     threshold the image
  -thumbnail geometry  create a thumbnail of the image
  -tile filename       tile image when filling a graphic primitive
  -tint value          tint the image with the fill color
  -transform           affine transform image
  -transparent color   make this color transparent within the image
  -transpose           flip image vertically and rotate 90 degrees
  -transverse          flop image horizontally and rotate 270 degrees
  -trim                trim image edges
  -type type           image type
  -unique-colors       discard all but one of any pixel color
  -unsharp geometry    sharpen the image
  -vignette geometry   soften the edges of the image in vignette style
  -wave geometry       alter an image along a sine wave
  -white-threshold value
                       force all pixels above the threshold into white

Image Sequence Operators:
  -append              append an image sequence
  -clut                apply a color lookup table to the image
  -coalesce            merge a sequence of images
  -combine             combine a sequence of images
  -composite           composite image
  -crop geometry       cut out a rectangular region of the image
  -deconstruct         break down an image sequence into constituent parts
  -evaluate-sequence operator
                       evaluate an arithmetic, relational, or logical expression
  -flatten             flatten a sequence of images
  -fx expression       apply mathematical expression to an image channel(s)
  -hald-clut           apply a Hald color lookup table to the image
  -morph value         morph an image sequence
  -mosaic              create a mosaic from an image sequence
  -print string        interpret string and print to console
  -process arguments   process the image with a custom image filter
  -reverse             reverse image sequence
  -separate            separate an image channel into a grayscale image
  -write filename      write images to this file

Image Stack Operators:
  -clone index         clone an image
  -delete index        delete the image from the image sequence
  -insert index        insert last image into the image sequence
  -swap indexes        swap two images in the image sequence

Miscellaneous Options:
  -debug events        display copious debugging information
  -help                print program options
  -list type           print a list of supported option arguments
  -log format          format of debugging information
  -version             print version information

By default, the image format of `file' is determined by its magic
number.  To specify a particular image format, precede the filename
with an image format name and a colon (i.e. ps:image) or specify the
image type as the filename suffix (i.e. image.ps).  Specify 'file' as
'-' for standard input or output.
		
 

L'ultima modifica alla pagina è del 18-05-2011

 
Condividi con i tuoi amici la pagina  

Incorpora nel tuo blog o nel tuo sito il codice XHTML/HTML per il link a questa pagina:

Copia ed incolla il link di questa pagina, oppure se avessi il client email configurato segnala la pagina.

Oppure puoi prenderlo dal permalink:

 

Articoli correlati

  • Non ancora in relazione

Aumenta i tuoi clienti ed il tuo business

Hai un sito che non rende?
Prova la soluzione di qualità!

Per liberi professionisti, PMI
artigiani e commercianti.

Se non sei in Rete, od il sito è introvabile, richiedi un
preventivo gratuito.

La soluzione vincente ti sta già aspettando online.

News

:: SCONTO ROTTAMAZIONE SITI FLASH E "MI PIACE" ::

Si rottamano siti web in flash con nuovi basati sulla tecnologia XHTML e fogli di stile CSS usufruendo dello sconto di un terzo (33.33%) del costo normale purché di almeno 10 pagine XHTML ed esprimendo il "Mi Piace" alla pagina Facebook. Un Cliente può usufruire di questa offerta per un solo sito web. L'offerta non è cumulabile con altre.
Offerta valida per contratti stipulati dal 30 aprile al 31 maggio 2012 esclusivamente per nuovi clienti. Offerta non cumulabile con eventuali altre.

Inoltre l'iscrizione alla pagina Facebook dà il privilegio di ricevere istantaneamente tutte le novità, nuovi articoli e nuove allettanti offerte. Essere online non era stato così semplice!

 

Torna in cima alla pagina