Portable Document Format (abbreviato PDF) è un formato di file documentale sviluppato da Adobe.[1] Evoluzione del Camelot Project di John Warnock, lo scopo del formato è quello di distribuire e scambiare documenti mantenendo invariati font, immagini e layout in maniera indipendente dal software e dall'hardware
PDF viene sviluppato nel 1993 da Adobe come formato proprietario basato su PostScript.[2] Da allora è oggetto di continui miglioramenti. Nel 2005 viene definito il formato derivato PDF/A, ottimizzato per l'archiviazione e la preservazione a lungo termine dei documenti.[3]
Nel 2007 Adobe decide di trasformare PDF in un formato standard ISO,[4] intraprendendo un percorso che porta nel luglio 2008 alla pubblicazione della norma ISO 32000,[5] basato sulla versione 1.7 della specifica originale.[6] Il comitato ISO TC-171 ha successivamente prodotto una revisione del formato PDF, riportata nella norma ISO 32000-2 e corrispondente a PDF 2.0.[7]
PDF è un formato aperto, nel senso che chiunque può creare applicazioni che leggano e scrivano file PDF senza pagare i diritti (Royalty) ad Adobe. 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.[8]
Un file PDF può descrivere documenti che contengono testo e/o immagini in qualsiasi risoluzione. 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, tipo 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[9]. 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[10].
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.
Un file PDF contiene caratteri ASCII a 7 bit, ad eccezione di alcuni elementi che possono avere contenuto binario. Il file inizia con un'intestazione contenente un numero magico (come una stringa leggibile) e la versione del formato, ad esempio %PDF-1.7
. Il formato è un sottoinsieme di un formato COS ("Carousel" Object Structure). Un file albero COS consiste principalmente di oggetti , di cui esistono otto tipi[11]:
(...)
). Le stringhe possono contenere caratteri a 8 bit./
)[...]
)<<...>>
)stream
e endstream
.Inoltre, potrebbero essere presenti commenti, introdotti con il segno di percentuale ( %
). I commenti possono contenere caratteri a 8 bit.
Gli oggetti possono essere diretti (incorporati in un altro oggetto) o indiretti . Gli oggetti indiretti sono numerati con un numero di oggetto e un numero di generazione e definiti tra le parole chiave obj
e endobj
se risiedono nella radice del documento. A partire dalla versione PDF 1.5, gli oggetti indiretti (ad eccezione di altri flussi) possono anche essere posizionati in flussi speciali noti come flussi di oggetti (contrassegnati /Type /ObjStm
). Questa tecnica consente agli oggetti non flusso di applicare filtri di flusso standard, riduce le dimensioni dei file che hanno un numero elevato di piccoli oggetti indiretti ed è particolarmente utile per PDF con tag. I flussi di oggetti non supportano la specifica di un oggetto numero di generazione (diverso da 0).
Una tabella indice, chiamata anche tabella dei riferimenti incrociati, si trova in genere vicino alla fine del file e fornisce l'offset di byte di ogni oggetto indiretto dall'inizio del file[12]. Questo design consente un accesso casuale efficiente agli oggetti nel file e consente anche di apportare piccole modifiche senza riscrivere l'intero file ( aggiornamento incrementale ). Prima della versione PDF 1.5, la tabella sarebbe sempre stata in uno speciale formato ASCII, sarebbe stata contrassegnata con la xref
parola chiave e avrebbe seguito il corpo principale composto da oggetti indiretti. La versione 1.5 ha introdotto flussi di riferimento incrociato opzionali, che hanno la forma di un oggetto stream standard, eventualmente con filtri applicati. Tale flusso può essere utilizzato al posto della tabella dei riferimenti incrociati ASCII e contiene gli offset e altre informazioni in formato binario. Il formato è flessibile in quanto consente la specifica della larghezza intera (utilizzando /W
array), in modo che, ad esempio, un documento di dimensioni non superiori a 64 KiB possa dedicare solo 2 byte per gli offset degli oggetti.
Alla fine di un file PDF c'è un piè di pagina contenente:
startxref
seguita da un offset all'inizio della tabella dei riferimenti incrociati (che inizia con la parola chiave xref
) o l'oggetto flusso di riferimenti incrociati%%EOF
.Se non viene utilizzato un flusso di riferimenti incrociati, il piè di pagina è preceduto dalla parola chiave trailer
seguita da un dizionario contenente informazioni che altrimenti sarebbero contenute nel flusso di riferimenti incrociati del dizionario dell'oggetto:
/Root
)/Size
)Ci sono due layout per i file PDF: non lineare (non "ottimizzato") e lineare ("ottimizzato"). I file PDF non lineari possono essere più piccoli delle loro controparti lineari, sebbene l'accesso sia più lento perché parti dei dati necessari per assemblare le pagine del documento sono sparse in tutto il file PDF. I file PDF lineari (chiamati anche file PDF "ottimizzati" o "ottimizzati per il Web") sono costruiti in modo da consentirne la lettura in un plug-in del browser Web senza attendere il download dell'intero file, poiché vengono generati in modo lineare (come nell'ordine delle pagine)[13]. I file PDF possono essere ottimizzati utilizzando il software Adobe Acrobat o QPDF.
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:
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.
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.
I file PDF possono contenere due tipi di metadati[17]. Il primo è il Dizionario delle informazioni sul documento, un insieme di campi chiave/valore come autore, titolo, oggetto, data di creazione e aggiornamento. Questo è memorizzato nel trailer informativo opzionale del file. Viene definito un piccolo insieme di campi e può essere esteso con valori di testo aggiuntivi, se necessario. Questo metodo è deprecato in PDF 2.0.
In PDF 1.4, è stato aggiunto il supporto per Metadata Streams, utilizzando Extensible Metadata Platform (XMP) per aggiungere metadati estensibili basati su standard XML utilizzati in altri formati di file. Ciò consente di allegare metadati a qualsiasi flusso nel documento, come le informazioni sulle illustrazioni incorporate, così come l'intero documento (allegando al catalogo del documento), utilizzando uno schema estensibile.
I documenti PDF possono contenere impostazioni di visualizzazione, incluso il layout di visualizzazione della pagina e il livello di zoom. Adobe Reader utilizza queste impostazioni per sostituire le impostazioni predefinite dell'utente all'apertura del documento[18]. Adobe Reader gratuito non può rimuovere queste impostazioni.
Adobe Acrobat è un esempio di software proprietario che consente all'utente di annotare, evidenziare e aggiungere note a file PDF già creati. Un'applicazione UNIX disponibile come software gratuito (sotto la GNU General Public License) è PDFedit. Il freeware Foxit Reader, disponibile per Microsoft Windows, macOS e Linux, consente di annotare i documenti. Il visualizzatore PDF-XChange di Tracker Software consente annotazioni senza restrizioni nella sua alternativa freeware. PDF-XChange Viewer di Tracker Software, visualizzatore PDF integrato, abilita anche le annotazioni così come il software open source Skim, con quest'ultimo che supporta l'interazione con LaTeX, SyncTeX e PDFSync e l'integrazione con il software di gestione dei riferimenti BibDesk. Il freeware Qiqqa può creare un rapporto di annotazione che riassume tutte le annotazioni che l'utente ha fatto nella sua libreria di PDF. Lo strumento di verifica del testo esporta le differenze nei documenti come annotazioni e markup.
Esistono anche sistemi di annotazione web che supportano l'annotazione in pdf e altri formati di documenti. Nei casi in cui ci si aspetta che i PDF abbiano tutte le funzionalità dei documenti cartacei, è necessaria l'annotazione dell'inchiostro.
Moduli interattivi è un meccanismo per aggiungere moduli al formato di file PDF. Attualmente esso supporta due diversi metodi per l'integrazione di dati e moduli PDF[19][20][21][22]. Entrambi i formati oggi coesistono nella specifica PDF:
Gli AcroForm sono stati introdotti nel formato PDF 1.2. Gli AcroForm consentono l'utilizzo di oggetti (ad esempio caselle di testo, pulsanti di opzione, ecc. ) E del codice (ad esempio JavaScript). Oltre ai tipi di azione PDF standard, i moduli interattivi (AcroForms) supportano l'invio, il ripristino e l'importazione dei dati. L'azione "invia" trasmette i nomi e i valori dei campi del modulo interattivo selezionati a un URL (Uniform Resource Locator) specificato. I nomi e i valori dei campi del modulo interattivo possono essere inviati in uno dei seguenti formati (a seconda delle impostazioni dei flag ExportFormat, SubmitPDF e XFDF[24]):
AcroForms può mantenere i valori dei campi del modulo in file indipendenti esterni contenenti coppie chiave: valore. I file esterni possono utilizzare file Forms Data Format (FDF) e XML Forms Data Format (XFDF). Le firme dei diritti di utilizzo (UR) definiscono i diritti per importare i file di dati del modulo nei formati FDF, XFDF e di testo (CSV / TSV) e esportare i file di dati del modulo nei formati FDF e XFDF[27].
In PDF 1.5, Adobe Systems ha introdotto un formato proprietario per i moduli; Adobe XML Forms Architecture (XFA). I moduli Adobe XFA non sono compatibili con la funzione AcroForms di ISO 32000 e la maggior parte dei processori PDF non gestisce il contenuto XFA. La specifica XFA è referenziata da ISO 32000-1 / PDF 1.7 come specifica proprietaria esterna ed è stata completamente deprecata da PDF con ISO 32000-2 (PDF 2.0).
È possibile visualizzare, navigare e stampare contenuto su più livelli nei PDF creati da software come InDesign, Illustrator, Photoshop, Gimp, Inkscape, AutoCAD[28].
L'effetto sfoglia-pagina (o "flipbook") dei PDF (online e su Acrobat) consiste in un opuscolo digitale che permette all'utente di sfogliare il documento in modo simile a uno sfogliabile cartaceo[29]. Viene creato in modo automatico tramite appositi software online e non, per la maggior parte a pagamento. Questo effetto si può ottenere anche con HTML5 Canvas e convertire un PDF sfogliabile in Canvas.
Nella sua interezza PDF è un formato complesso e con molte funzionalità che lo rendono flessibile e in grado di essere adattato a diversi casi d'uso. Per evitare la proliferazione di varianti minori e problemi di interoperabilità e portabilità tra diverse implementazioni di software per PDF sono stati standardizzati diversi formati derivati, che essenzialmente descrivono dei profili di conformità orientati a specifici casi d'uso:[10]
Il formato è oggetto di ulteriori evoluzioni in fase di sviluppo come il PDF/E ed il PDF/VT (dove “V” sta per “Variable” e “T” per “Transactional”)[30] nel quale dovrebbero essere inclusi anche formati come U3D (Universal 3D), un formato scalabile finalizzato alla condivisione e visualizzazione di progetti 3D interattivi[31][32], provenienti dai settori del CAE (Computer-Aided Engineering) e del CAM (Computer-Aided Manufacturing). Si può per esempio creare un modello 3D tramite software come Blender e incorporarlo in un PDF[33].
Numerose compagnie e organizzazioni hanno sviluppato software in grado di creare, visualizzare e manipolare file PDF.[2] Adobe distribuisce una serie di software per il formato PDF, alcuni gratuiti e altri a pagamento, tra cui Adobe Acrobat.[34] L'applicazione Anteprima di macOS è in grado di visualizzare e modificare i PDF, fornendo all'utente la capacità di compilare moduli.[35]
Nel 2001 la Free Software Foundation ha avviato la campagna PDFreaders.org invitando gli utenti a scaricare e utilizzare software libero per leggere e scrivere documenti.[36] Tra i lettori consigliati figurano Evince, Skim, Sumatra PDF, Okular, Xpdf e PDF.js.[36]
Adobe e Microsoft hanno stretto una partnership in modo da rendere interoperabili i prodotti Acrobat e Microsoft 365, permettendo la conversione di documenti Word in PDF.[37]
L'ottimizzazione dei documenti in formato PDF prevede alcuni interventi al momento della creazione del file. Gli elementi più importanti da compilare correttamente ai fini del posizionamento sulle SERP di un documento PDF sono:
Per quanto riguarda l'inserimento di un link cliccabile all'interno delle pagine, si noti che un file pdf viene letto da Google come una sorta di pagina web a sé stante e risulta, pertanto, un backlink al proprio sito. L'importante è tematizzare il link, cioè inserire l'esatta pagina di riferimento. Per esempio, se abbiamo un PDF che parla di animali domestici su un portale di animali, sarà meglio inserire il link alla pagina che parla esattamente di quelli domestici.
A partire da Windows Vista, Microsoft ha introdotto un formato concorrente, denominato Open XML Paper Specification, meno popolare e diffuso anche per la mancanza di supporto in ambiente macOS e sui dispositivi mobili.[38][39]
Nel 2010 la sezione tedesca del WWF ha promosso un formato di file alternativo denominato WWF.[40][41] Il software per la creazione dei file WWF, disponibile per Windows XP e Mac OS X 10.4[40], produce un file PDF con estensione .wwf a cui è stata inibita la possibilità di stampare il documento[42], tramite DRM incorporato in Adobe Reader[43]. Nonostante la realizzazione di un software equivalente open source, l'iniziativa è stata criticata sia dal movimento per la diffusione del software libero[42][44], sia dalla stessa WWF che ha evidenziato come la campagna fosse stata diffusa da una sezione locale senza previa consultazione dell'organizzazione[41].
Controllo di autorità | LCCN (EN) sh00002670 · GND (DE) 4523240-4 · J9U (EN, HE) 987007291610605171 |
---|