# Poppler

Poppler è una libreria per la visualizzazione di documenti PDF, mantenuta da freedesktop.org. È basato su Xpdf. Il suo nome deriva dai Popplers (Scrocchiazzeppi nella versione italiana) dell'episodio Il cibo parlante della serie animata Futurama.

## Storia

Il progetto è iniziato da Kristian Høgsberg che aveva in mente due obiettivi:
* Fornire funzionalità di rendering/visualizzazione PDF come una libreria software condivisa, al fine di centralizzare e unificare lo sforzo di manutenzione
* Andare oltre gli obiettivi e le funzioni di Xpdf, e l'integrazione con le funzionalità fornite dai moderni sistemi operativi
Poppler stesso è un fork di Xpdf-3.0, visualizzatore PDF sviluppato da Derek Noonburg di Glyph and Cog, LLC.

## Funzionalità

Poppler può usare due back-ends per visualizzare documenti PDF: Cairo e Splash. Le funzionalità dipendono da quale back-end è utilizzato. Un back-end sviluppato da terze parti basato sulle librerie grafiche Qt4: il framework di disegno "Arthur" è disponibile, ma incompleto e non più sotto sviluppo attivo.. Binding (associazioni) esistono per Glib, Qt3, e Qt4, che forniscono interfacce per il backend Poppler, anche se i binding Qt3 e Qt4 supportano solo il backend Splash. C'è un patchset (piccole correzioni software) disponibile per aggiungere il supporto per il backend Cairo per i binding basati sulle librerie grafiche Qt4, ma il progetto Poppler attualmente non desidera integrare la funzione nella libreria in sviluppo..
Alcune caratteristiche dei backend sono i seguenti:
* Cairo. Anti-aliasing di grafica vettoriale, e trasparenza degli oggetti. Cairo non crea facilmente le immagini bitmap come i documenti scansionati. Cairo non dipende dal sistema X Window System, così Poppler può funzionare su piattaforme software che non usano un server X, come Windows o Mac OS.
* Splash. Supporta filtri per Texture, Mipmapping per immagini bitmap.
Poppler è dotato di un backend di rendering del testo, nonché, richiamabile da riga di comando, dell'utility pdftotext. È utile per la ricerca di stringhe di testo da riga di comando in un file PDF, usando l'utility grep, ad esempio.
Esempio:
Dalla versione 0.9.0, Poppler supporta documenti interattivi utilizzando JavaScript.

### Funzionalità in sviluppo

* supporto Full annotation. Non si tratta di "aggiunta di note"; attualmente è possibile solo la modifica delle annotazioni esistenti. Il team dell'applicazione Evince ha discusso di questo argomento.
* supporto Form-editing (compilazione maschere inserimento dati) in pre-release. Supporto per salvare moduli PDF compilati in un file.

## Programmi che utilizzano Poppler

* Evince - librerie frontend GTK+
* kat: http://kat.sourceforge.net/ - librerie frontend Qt
* kde pdf kfile plugin: https://websvn.kde.org/trunk/KDE/kdegraphics/kfile-plugins/pdf/ - librerie frontend Qt
* PopplerKit GNUStep/Cocoa frontend: http://svn.gna.org/viewcvs/gsimageapps/trunk/Frameworks/PopplerKit/ - librerie frontend nessuna
* Vindaloo (software): https://web.archive.org/web/20160130145938/http://svn.gna.org/viewcvs/gsimageapps/trunk/Applications/Vindaloo/ - librerie frontend PopplerKit
* Sumatra PDF - librerie frontend nessuna
* ePDFView: https://web.archive.org/web/20080410023445/http://trac.emma-soft.com/epdfview/ - librerie frontend GTK+