[Python] [ANN] pdfimg un tool per convertire immagini PNG in documenti PDF

Manlio Perillo manlio_perillo a libero.it
Lun 16 Giu 2008 20:15:16 CEST


Sono felice di annunciare la prima preview di pdfimg, un tool per 
convertire immagini PNG (in futuro forse anche JPG) in documenti PDF 
(versione 1.4).

Il tool è quasi completo, ed il repository Mercurial è disponibile qui:
http://hg.mperillo.ath.cx/pdfimg/

Per convertire una immagine PNG in PDF:
$bin/png2pdf -o img.pdf img.png


Il tool implementa un generatore PDF e parser PNG completi, che benchè 
siano a basso livello, sono molto flessibili e riutilizzabili.

Praticamente *tutte* le feature di PNG sono "trasferite" nel documento 
PDF, senza encoding/decoding intermedio e senza memorizzare nessun dato 
in memoria (quindi è *molto* efficiente, specialmente per grosse 
immagini alla risoluzione per la stampa).

Il generatore PDF ed il parser PNG sono stati disegnati con queste 
funzionalità in mente (quindi l'API può apparire un pò strana).


I *soli* chunk PNG che non sono usati sono:
     * gAMA (ma solo se il chunk cHRM non è definito) (TODO ?)
     * tEXt, zTXt (TODO)
     * iTXt
     * sBIT
     * sPLT
     * hIST

Queste feature di PNG non sono supportate da PDF:
     * imagini con canale alpha
       (ma la trasparenza semplice con tRNS è supportata)
     * immagini con 16 bits per componente
       (ma le nuove versioni (>= 1.5) di PDF le supportano)
     * immagini interlacciate


IMHO questo è probabilmente il tool più flessibile e completo per 
convertire una immagine in PDF, ed è anche facilmente programmabile.


La documentazione è ancora carente (ci sto lavorando) ma ogni feedback 
sarà molto apprezzato, specialmente riguardo la fedeltà nella resa dei 
colori calibrati.


pdfimg ha una test suite completa che usa le immagini dalla PNG Suite 
(che va scaricata a parte).

Purtroppo la suite non ha immagini di test per i chunk sRGB ed iCPP.
Ho fatto un test con una immagine con tipo di colore RGB e profilo ICC 
embedded (purtroppo Linux non è la piattaforma migliore per controllare 
la resa dei colori calibrati), ma non ho avuto modo di testare immagini 
in scala di grigio e indicizzate con profilo di colore ICC embedded.




Saluti  Manlio Perillo



Maggiori informazioni sulla lista Python