Portable Document Format: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ripristinato il template "Formato file"
m Refusi
 
(3 versioni intermedie di 3 utenti non mostrate)
Riga 26:
|sito = <!-- senza http:// -->
}}
'''Portable Document Format''' (abbreviato '''PDF''') è un [[formato di file]] [[formato documentale|documentale]] sviluppato da [[Adobe (azienda)|Adobe]].<ref name="adobe-pdf">{{cita web|url=https://www.adobe.com/it/acrobat/about-adobe-pdf.html|titolo=Cos’è un PDF? Formato PDF|sito=Adobe Acrobat|editore=Adobe|accesso=28 agosto 2023}}</ref> Evoluzione del [[Camelot Project]] di [[John Warnock]], lo scopo del formato è quello di distribuire e scambiare documenti mantenendo invariati [[font]], [[immagine|immagini]] e layout in maniera indipendente dal [[software]] e dall'[[hardware]].
 
== Storia ==
Riga 105:
 
=== Formato file ===
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 [[Magic number|numero magico]] (come una stringa leggibile) e la versione del formato, ad esempio <code>%PDF-1.7</code>. Il formato è un sottoinsieme di un formato COS ("Carousel" Object Structure). Un file albero COS consiste principalmente di ''oggetti'' , di cui esistono otto tipi<ref>Adobe Systems, PDF Reference, p.&nbsp;51.</ref>:
 
* Valori booleani, che rappresentano ''vero'' o ''falso''
* Numeri
* Stringhe, racchiuse tra parentesi ( <code>(...)</code>). Le stringhe possono contenere caratteri a 8 bit.
* Nomi, che iniziano con una barra ( <code>/</code>)
* Matrici, raccolte ordinate di oggetti racchiusi tra parentesi quadre ( <code>[...]</code>)
* Dizionari, raccolte di oggetti indicizzati da nomi racchiusi tra doppie parentesi angolari ( <code><<...>></code>)
* Flussi, solitamente contenenti grandi quantità di dati binari opzionalmente compressi, preceduti da un dizionario e racchiusi tra le parole chiave <code>stream</code>e <code>endstream</code>.
* L'oggetto "null"
 
Inoltre, potrebbero essere presenti commenti, introdotti con il segno di percentuale ( <code>%</code>). 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 <code>obj</code>e <code>endobj</code>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 <code>/Type /ObjStm</code>). 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<ref>Adobe Systems, PDF Reference, pp. 39–40.</ref>. 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 <code>xref</code>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 <code>/W</code>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:
 
* La parola chiave <code>startxref</code> seguita da un offset all'inizio della tabella dei riferimenti incrociati (che inizia con la parola chiave <code>xref</code>) o l'oggetto flusso di riferimenti incrociati
* L'indicatore di fine-file <code>%%EOF</code> .
 
Se non viene utilizzato un flusso di riferimenti incrociati, il piè di pagina è preceduto dalla parola chiave <code>trailer</code>seguita da un dizionario contenente informazioni che altrimenti sarebbero contenute nel flusso di riferimenti incrociati del dizionario dell'oggetto:
 
* Un riferimento all'oggetto radice della struttura ad albero, noto anche come ''catalog'' ( <code>/Root</code>)
* Il conteggio degli oggetti indiretti nella tabella dei riferimenti incrociati ( <code>/Size</code>)
* Altre informazioni facoltative
 
Riga 168:
* È lo standard ISO (ISO 19005-1: 2005) per i file del contenitore di documenti elettronici in vista della loro conservazione a lungo termine<ref name=":0" />.
* I file PDF sono indipendenti dal dispositivo, quindi possono essere stampati su una stampante ad aghi, a getto d'inchiostro, laser o microfilm. Per l'ottimizzazione della stampa, durante la creazione del file PDF vengono impostate le opzioni appropriate.
* È [[multipiattaforma]], ovvero può essere presentato sui principali sistemi operativi ([[Linux|GNU]] / [[Linux]], [[MacOS]], [[Unix]], [[Microsoft Windows|Windows]] ), senza modificare l'aspetto o la struttura del documento originale.
 
=== Protezione, crittografia e descrizione ===
Riga 197:
* Moduli XML Forms Architecture (XFA), introdotti nella specifica del formato PDF 1.5. I moduli Adobe XFA non sono compatibili con AcroForms<ref>{{Cita web|url=http://partners.adobe.com/public/developer/tips/topic_tip2.html|titolo=Migrating from Adobe Acrobat forms to XML forms|accesso=22 febbraio 2010|urlmorto=s|urlarchivio=https://web.archive.org/web/20101006151011/http://partners.adobe.com/public/developer/tips/topic_tip2.html|dataarchivio=6 ottobre 2010}}</ref>. XFA è stato deprecato da PDF con PDF 2.0.
 
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<ref name="iso320002">{{Cita pubblicazione|url=https://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf|titolo=Document Management – Portable Document Format – Part 1: PDF 1.7, First Edition|autore=Adobe Systems Incorporated|data=1º luglio 2008|accesso=19 febbraio 2010}}</ref>):
 
; Formato modulo HTML