Portable Document Format

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – "PDF" rimanda qui. Se stai cercando altri significati, vedi PDF (disambigua).
Portable Document Format
Estensione .pdf
Tipo MIME application/pdf
Sviluppato da Adobe Systems
1ª pubblicazione 1993
Ultima versione 1.7
Standard ISO/IEC 32000-1:2008
Formato aperto?

Il Portable Document Format, comunemente abbreviato PDF, è un formato di file basato su un linguaggio di descrizione di pagina sviluppato da Adobe Systems nel 1993 per rappresentare documenti in modo indipendente dall'hardware e dal software utilizzati per generarli o per visualizzarli.

Storia[modifica | modifica wikitesto]

Un file PDF può descrivere documenti che contengono testo e/o immagini in qualsiasi risoluzione. È un formato aperto, nel senso che chiunque può creare applicazioni che leggono e scrivono file PDF senza pagare i diritti (Royalty) alla Adobe Systems. Adobe ha un numero elevato di brevetti relativamente al formato PDF ma le licenze associate non includono il pagamento di diritti per la creazione di programmi associati.

Ogni documento PDF contiene una completa descrizione del documento bidimensionale (e, con la comparsa di Acrobat 3D, documenti 3D incorporati) composta da proprietà (Titolo, Autore, ecc.) testo, stili di carattere (font), immagini e oggetti di grafica vettoriale 2D che compongono il documento.

Il documento PDF non dovrebbe includere informazioni specifiche per software, hardware e sistema operativo usato. Ciò permetterebbe al documento di venire visualizzato e renderizzato nella stessa esatta maniera indipendentemente dalla piattaforma e/o dispositivo utilizzato per leggerlo. Anche questo fatto ha contribuito a farlo diventare un formato standard de facto molto diffuso per la condivisione immediata dei documenti. In realtà il PDF nella sua forma standard è un formato che non può essere considerato compatibile con un processo di conservazione digitale (l'archiviazione digitale dei documenti al fine di eliminare o ridurre l'uso della carta) in quanto non è in grado di garantire la riproducibilità a lungo termine e neanche la conservazione dell’aspetto visivo. Questo aspetto dipende da vari fattori come, ad esempio, il fatto che i file PDF standard non sono necessariamente auto-contenuti, ma possono presentare dipendenze dai font utilizzati o da oggetti esterni al file stesso. Pertanto, se si cerca di visualizzare questi file su sistemi informatici diversi da quelli sui quali sono stati creati, non è garantita la loro riproduzione in maniera coerente, da cui consegue che il loro utilizzo a lungo termine non è pensabile se non associato ad uno standard preciso[1].

La stampa di documenti in formato.pdf può dare dei problemi se si usano dei caratteri locali (ad esempio le vocali italiane accentate) e se chi stampa ha il proprio PC impostato su una lingua diversa. Nel gennaio 2007 Adobe ha intrapreso la strada della standardizzazione per far diventare il PDF un formato standard ISO[2][3], a dicembre è stato approvato lo standard ISO 32000.[4]

Il formato è stato effettivamente standardizzato in una serie di sottoformati[1]:

  • PDF/A (PDF/Archiving) per l’archiviazione a lungo termine;
  • PDF/X (PDF/eXchange) per le arti grafiche e la prestampa;
  • PDF/E (PDF/Engineering) per la documentazione di tipo ingegneristico;
  • PDF/H (PDF/Healthcare) per il settore sanitario;
  • PDF/UA (PDF/Universal Accessibility) per l’accessibilità.

Quindi, se si vuole archiviare o inviare un file PDF in modo stabile e con la massima possibilità di diffusione, si deve utilizzare il formato PDF/A, che è articolato in ulteriori sottoformati; questo formato è stato codificato il 28 settembre 2005 come standard ISO 19005-1:2005 Document management - Electronic document file format for long-term preservation - Part 1: Use of PDF (PDF/A1) [5]

La norma ISO 19005-1 specifica comunque due possibili diversi livelli di conformità allo standard:

  • PDF/A-1a (ISO 19005-1 Level A Conformance in Part 1)
  • PDF/A-1b (ISO 19005-1 Level B Conformance in Part 1)

Entrambi sono implementati nella più blanda versione 1.4, che è certo più flessibile dal punto di vista dell'inseribilità dei contenuti ma comunque instaura un certo livello di dipendenza dal sistema informatico sul quale viene creato il documento.

Il formato è oggetto di ulteriori evoluzioni in fase di sviluppo come la PDF/E ed il PDF/VT (dove “V” sta per “Variable” e “T” per “Transactional”)[6] nel quale dovrebbero essere inclusi anche formati come U3D (Universal 3D), un formato scalabile finalizzato alla condivisione e visualizzazione di progetti 3D interattivi, provenienti dai settori del CAE (Computer-Aided Engineering) e del CAM (Computer-Aided Manufacturing).

PDF nella programmazione.[modifica | modifica wikitesto]

Le specifiche del formato PDF sono state rese pubbliche, per questo motivo è possibile creare file.pdf in diversi linguaggi di programmazione.

Python[modifica | modifica wikitesto]

Questo è un esempio di file .pdf creato in Python:[7]

Output (poi convertito in png) dello script in python
from CoreGraphics import *
import math   # per il pi greco
pageRect = CGRectMake (0, 0, 612, 792)   
c = CGPDFContextCreateWithFilename ("circle.pdf", pageRect)
c.beginPage (pageRect)
c.setRGBFillColor(1.0,0.0,0.0,1.0)
c.addArc(300,300,100,0,2*math.pi,1)
c.fillPath()
c.endPage()
c.finish()

Tecnologie[modifica | modifica wikitesto]

PostScript[modifica | modifica wikitesto]

Exquisite-kfind.png Lo stesso argomento in dettaglio: PostScript.

Il PDF eredita molte delle funzionalità del PostScript, un linguaggio di descrizione della pagina anch'esso sviluppato da Adobe. Postscript permette di descrivere una pagina come il risultato di un'esecuzione di un programma, che contiene istruzioni su come e dove disegnare linee, punti, lettere dell'alfabeto e altri elementi grafici. In questo modo, ogni apparecchio capace di eseguire il programma (ossia, che abbia un interprete Postscript), sarà in grado di riprodurre tale immagine al meglio delle sue capacità. Questo processo, tuttavia, richiede grandi risorse da parte del terminale.

PDF, invece, è un formato, non un linguaggio di programmazione, e per questo motivo non ha bisogno di essere interpretato (Per i dettagli vedi Linguaggio compilato e Linguaggio interpretato). Per esempio, il controllo di flusso esercitato dai comandi come if e loop è stato rimosso, mentre comandi grafici come lineto rimangono.

Questo significa che il processo di creare o trasformare un PDF nella sua immagine grafica è semplicemente dato dalla lettura delle descrizioni, invece che dall'esecuzione di un programma con l'interprete PostScript. Tutte le funzionalità del PostScript come i caratteri, layout e misure rimangono invariate.

Spesso il codice PDF è generato da un file sorgente PostScript. I comandi grafici che vengono generati dal codice PostScript vengono raccolti così come tutti i file, risorse grafiche e riferimenti di caratteri nel documento e, finalmente, tutto viene compresso in un singolo file.

Come linguaggio di documenti, il PDF ha molti vantaggi rispetto al PostScript:

  • Un singolo file: Un documento PDF consta di un singolo file, mentre in PostScript un documento può necessitare di essere rappresentato da molti file (grafica ecc.) che probabilmente occupano più spazio.
  • Già interpretato: PDF ha un contenuto già interpretato, cosicché richiede meno costi computazionali e la sua apertura è più veloce, oltre al fatto che c'è una corrispondenza diretta tra i cambiamenti degli oggetti nella descrizione della pagina PDF e cambiamenti nel rendering risultante.
  • Trasparenza degli oggetti: Il PDF (a partire dalla versione 1.4) supporta la trasparenza reale degli oggetti, caratteristica che invece non è supportata nel formato PostScript.
  • Sostituzione dei caratteri: Se viene visualizzato con Adobe Reader, una strategia di sostituzione dei caratteri assicura che il documento sia leggibile nonostante l'assenza sul sistema dell'utente dei font "corretti".

PDF garantisce che vengano visualizzati font sostitutivi affini a quello mancante. Mentre questo è possibile con PostScript, questi file non possono essere normalmente distribuiti per accordi di licenza dei font.

  • Pagine indipendenti: PostScript è un linguaggio di programmazione, così le istruzioni su una pagina possono influenzare la visualizzazione di pagine seguenti. È pertanto necessario interpretare tutte le pagine precedenti per determinare l'aspetto di ogni pagina data. In PDF, invece, ogni pagina del documento non viene influenzata dalle altre.


Protezione, crittografia e descrizione[modifica | modifica wikitesto]

All'interno del file PDF vengono tenute informazioni sulla sicurezza (documento stampabile o non stampabile, protetto da password, con selezione di testo bloccata o non bloccata, ecc.) e l'indicizzazione.

La protezione di un documento PDF presenta una chiave di crittografia attualmente fino a 128 bit (tempo fa era di 40 bit), e per il futuro non è escluso che possa aumentare in relazione all'aumento di potenza dei calcolatori in grado di elaborare chiavi di accesso random a più di 128 bit.

La protezione crittografica dei PDF è molto debole, ed esistono numerosi programmi che riescono a rompere la chiave in tempi strettissimi. La protezione password PDF è sconsigliata per salvaguardare l'informazione al suo interno.

È possibile incrementare le possibilità di indicizzazione e posizionamento di un file PDF attraverso alcuni interventi di ottimizzazione compilando correttamente i campi della descrizione.

Software per PDF[modifica | modifica wikitesto]

Nel sistema operativo Mac OS X sono integrate sia la lettura che la scrittura (da qualsiasi tipo di documento) di file PDF; su altri sistemi operativi sono necessari programmi appositi.

Un programma freeware per esportare il contenuto di un documento PDF in vari formati (immagini, testo, ecc.) è il programma Ghost.

Per visualizzare i file PDF esistono molti software disponibili anche liberi, come Evince e Ghostscript, oppure proprietari, come Adobe Acrobat e Nuance PDF Reader.

Per convertire i PDF in formato HTML5, leggibile con un browser di ultima generazione c'è PDF.js.

Molte applicazioni e sistemi operativi consentono di salvare direttamente in PDF, o hanno una pseudo-stampante[8] che salva in PDF.

In mancanza di questa funzione, per realizzare un documento PDF occorrono programmi come Adobe Acrobat, oppure suite come Microsoft Office, OpenOffice.org o LibreOffice.

Note[modifica | modifica wikitesto]

  1. ^ a b http://www.iter.it/iged_ol_0210.pdf iged.it online 02 2010 - pag. 11
  2. ^ Adobe vuole trasformare il PDF in uno standard ISO
  3. ^ PDF cerca la benedizione di ISO
  4. ^ (EN) ISO Ballot for PDF 1.7 Passed!
  5. ^ titolo = iged.it online 02 2010 http://www.iter.it/iged_ol_0210.pdf titolo = iged.it online 02 2010. URL consultato il 25 marzo 2010. pag. 11 - La norma, composta da circa 290 pagine, è disponibile per l’acquisto presso diversi siti, tra cui: <http://www.iso.org>; <http:// www.ansi.org>; <http://www.npes.org/standards/orderform.html>; <http://www.aiim.org/bookstore>. Una versione draft della norma è tuttora disponibile all’indirizzo <http://www.aiim.org/documents/standards/ ISO_19005-1_(E).doc>.
  6. ^ titolo = iged.it online 02 2010 http://www.iter.it/iged_ol_0210.pdf titolo = iged.it online 02 2010. URL consultato il 25 marzo 2010. pag. 18
  7. ^ Questo esempio funziona su un sistema OS X e richiede la libreria Quartz 2D installata.
  8. ^ Pseudo stampante: quando il programma viene installato nel computer, compare come una stampante. Selezionandolo in fase di stampa non si ottiene fisicamente una stampa ma un file in formato PDF che può essere salvato come un qualsiasi altro file nella cartella che si sceglie.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica