Cos'è il file PDF? | Base di conoscenza

Introduzione

Come già sai dall’articolo su “PDLS”, PDF è una lingua di descrizione della pagina statica che ha una struttura immutabile rigorosa.

PDF è uno dei linguaggi di descrizione della pagina più popolari a causa di una grande varietà di funzionalità che gli sviluppatori di Adobe hanno aggiunto alla sua specifica. Inoltre, Adobe fornisce anche alle persone strumenti in grado di realizzare queste funzionalità nei documenti. Questo articolo è una breve revisione della sintassi, della struttura e delle caratteristiche del PDF.

Cos’è un file PDF?

L’obiettivo iniziale di sviluppare PDF o formato di documenti portatili abbreviati era quello di creare un formato di documenti che soddisfacesse numerosi requisiti di interscambio di documenti digitali negli ambienti indipendenti e indipendenti dalla risoluzione. Questi requisiti includono visione interattiva, navigazione ad alte prestazioni, occupazione dello spazio a basso disco, co-working su documenti, supporto per diversi contenuti multimediali, crittografia, firma, creazione di moduli, presentazione e così via. Nonostante l’intento iniziale di fornire alle aziende il formato esaustivo per lo scambio di documenti digitali, sono state aggiunte anche funzionalità di stampa di alta qualità alla specifica, sebbene in seguito.

Sintassi del file PDF

PDF ha un modello di imaging derivato da One di PostScript, utilizza anche 1-2-character, Long Operators e in formato AI, e ha anche la sintassi BNF postfix, dove tutti gli operatori necessari vanno prima dell’operatore.

operand1...operandm operator

Oltre alla lunghezza dell’operatore, ci sono alcune differenze tra gli operatori PDF e PostScript. In PDF tutti gli operrandi necessari devono precedere gli operatori mentre gli operandi postscript sono ottenuti dallo stack PostScript. In PDF l’operatore non restituisce un risultato in quanto può essere in PostScript. L’operatore PDF esegue alcune azioni per comporre una pagina, ad esempio disegnare grafica o testo o imposta alcune proprietà in un ambiente grafico. In PostScript, gli operatori svolgono tutto il lavoro.

Di solito, la maggior parte del contenuto di file PDF è compresso con la codifica a flape e, in questo modo, è binario. Oltre ai file PDF di compressione possono anche essere crittografati per limitare l’accesso al contenuto del documento. Pertanto l’intero file deve essere trattato come binario. Solo nel caso in cui un file PDF non è né compresso né crittografato e non contiene contenuti binari, come immagini, suono, video, ecc., Può essere considerato testuale.

Oggetti di specifica PDF

Nell’oggetto Specifica PDF è sinonimo di tipo, mentre in PostScript ci sono tipi che possono essere primitivi e complessi e l’ultimo può essere chiamato “oggetti”. Pertanto tutti i tipi in PDF, semplici o complessi, sono oggetti. Il linguaggio PDF è costituito da valori booleani, numeri interi, numeri reali, nomi, stringhe, array, dizionari e flussi. Le stringhe possono essere in formato letterale o esadecimale come mostrato di seguito.

( This is a string )
<4E6F762073686D6F7A206B6120706F702E>

literal format
hexadecimal format

Gli array sono delimitati con parentesi quadrate. Include un rettangolo sottotipo - array con 4 elementi.

I dizionari archiviano i dati in coppie di valore chiave in cui la chiave è un nome o una stringa (per il dizionario dei nomi) e il valore è riferimento oggetto o oggetto. È chiuso in parentesi a doppio angolo. I dizionari hanno un campo tipo che mostra quali dati vengono archiviati in un determinato dizionario.

<< /Type /Example
  /Subtype /DictionaryExample
  /Version 0 . 01
  /IntegerItem 12
  /StringItem ( a string )
  /Subdictionary << /Item1 0 . 4
    /Item2 true
    /LastItem ( not ! )
    /VeryLastItem ( OK )
  >>
>>
endobj

Gli oggetti possono essere diretti e indiretti. Gli oggetti indiretti sono quelli che possono essere indirizzati da altri oggetti dal loro ID.

Oggetti indiretti PDF

I flussi sono oggetti che di solito contengono dati binari o codificati. Sono ininterrotti e non hanno limiti di lunghezza. Di solito, i flussi di file PDF contengono contenuti o immagini di pagina o altri supporti. L’oggetto flusso è costituito da un dizionario diretto con una lunghezza del flusso e una serie di filtri utilizzati per codificare il flusso e codificare i dati dopo la parola chiave flusso .

181 0 obj
  <<
    /Length 473 0 R
    /Subtype /Image
    /Width 2
    /Height 19
    /BitsPerComponent 8
    /ColorSpace /DeviceGray
    /Filter [/ASCII85Decode /FlateDecode]
  >>
stream
Gb"[2*s<F2i'/7_!,1%/hZ~>
endstream
endobj

Operatori PDF

Gli operatori sono una specie di oggetti diretti che creano grafica di pagina e, come menzionato in precedenza, sono rappresentati da parole chiave a 1 o 2 lettere. Esistono due tipi di operatori PDF:

* esecuzione di azioni o impostazione di proprietà dello stato grafico.

PDF operator

x y m
x y l
x1 y1 x2 y2 x3 y3 c
h
x y width height re
a b c d e f cm
S
s
f
F
W
font size Tf
charSpace Tc
q
Q
lineWidth w
lineCap J
font size Tf
charSpace Tc

Description

Inizia un nuovo sottotracciato spostando il punto corrente alle coordinate (x, y)
Aggiunge un segmento di retta dal punto corrente al punto (x, y)
Aggiunge una curva di Bézier cubica al percorso corrente
Chiude il sottotracciato corrente
Aggiunge un rettangolo al percorso corrente
Modifica la matrice di trasformazione corrente concatenando la matrice specificata
Traccia il percorso
Lo stesso, ma chiudi il percorso
Riempi il tracciato
lo stesso, ma chiudi il tracciato
Modifica il tracciato di ritaglio corrente intersecandolo con il tracciato corrente
Imposta il carattere del testo su font e la dimensione del carattere del testo su size
Imposta la spaziatura dei caratteri su charSpace
Salva lo stato grafico corrente nello stack dello stato grafico
Ripristina lo stato grafico dallo stack dello stato grafico
Imposta la larghezza della linea nello stato grafico
Imposta lo stile del capolinea nello stato grafico
Imposta il carattere del testo su font e la dimensione del carattere del testo su size
Imposta la spaziatura dei caratteri su charSpace

* raggruppamento

PDF operator

BT...ET
BI...EI
BMC...EMC
BX...EX

Description

Inizia e termina un oggetto di testo
Inizia e termina un oggetto immagine
Inizia e termina una sequenza di contenuti contrassegnati
Inizia e termina una sezione di compatibilità

Tipi speciali di operatori di raggruppamento sono bx … ex . Alleggerono porzioni di contenuto di pagina in cui gli oggetti non identificati devono essere ignorati. Pertanto, sono equivalenti di AI %_ Pseudo-Comments.

Struttura del file PDF

Il file PDF ha quattro elementi strutturali obbligatori.

Struttura del file PDF

  1. Intestazione a una linea, in cui è scritta la versione del linguaggio PDF

%PDF-1.5

  1. Corpo che contiene oggetti del documento. La struttura del corpo sarà descritta più avanti in questo articolo.

  2. Tabella di riferimento incrociato. Viene utilizzato per un rapido accesso casuale agli oggetti del documento. Contiene un offset in byte all’inizio degli oggetti dall’inizio del file.

xref
0 6
0000000003 65535 f
0000000017 00000 n
0000000081 00000 n
0000000000 00007 f
0000000331 00000 n
0000000409 00000 n

  1. Trailer, punta all’ultima tabella di riferimento incrociato e contiene una quantità comune di oggetti nelle tabelle di riferimento incrociate, L’ID del documento e riferimenti a:

trailer
  <<
    /Size 15
    /Root 2 0 R
    /Info 1 0 R
  >>
startxref
6224

Una nuova tabella e trailer di riferimento incrociate vengono aggiunti dopo ogni aggiornamento del documento. Sarà descritto più avanti nell’articolo.

Struttura del documento

Il documento PDF ha una struttura simile a un albero in cui la radice è un dizionario del catalogo.

Struttura del documento PDF

Il catalogo contiene riferimenti nelle pagine Descrizione Sottosolino, Sottosolino e altri nodi a livello di documento e nodi fogliari.

2 0 obj
  << /Type /Catalog
    /Pages 3 0 R
    /Outlines 4 0 R
    /PageMode /UseOutlines
    /ViewerPreferences 5 0 R
    /OpenAction [6 0 R /Fit]
  >>
endobj

L’albero delle pagine contiene l’ordinamento di nodi di pagina e nodi a foglia di pagina. Esattamente la struttura a forma di albero di una serie di pagine insieme all’algoritmo di ricerca consente di navigare rapidamente su migliaia di pagine di trovarne una necessaria.

Stream di contenuti della pagina PDF

Page Dizionario contiene riferimento sul flusso di contenuto che può essere compresso così com’è nella figura sopra o non compressa. Nell’ultimo caso, vedremmo gli operatori PDF nel testo leggibile dall’uomo come nella figura seguente.

7 0 obj
  <<
    /Length 8 0 R
  >>
stream
1 0 0 1 0 0 cm
0 0 m
595 0 l
595 842 l
0 842 l
h
W
n
q
/Alpha1 gs
0 0 0 rg
0 0 0 RG
0 J
q
0.96593 0.25882 -0.25882 0.96593 0 0 cm
1 0 0 1 0 0.25882 cm
0.02 w
-0.96593 0 m
0 -0.25882 l
0 -0.25882 0 -0.25882 0 -0.25882 c
0.14294 -0.25882 0.25882 -0.14294 0.25882 0 c
0.25882 0.14294 0.14294 0.25882 0 0.25882 c
h
S
Q
endstream
endobj

Oltre a una matrice di nodi per bambini (può essere pagina di pagina o pagina), il dizionario contiene riferimento al dizionario delle risorse, che a sua volta si riferisce a caratteri, procset, immagini (xobject), ecc.

9 0 obj
  <<
    /ProcSet 10 0 R
    /XObject 11 0 R
    /Font 12 0 R
    /ExtGState 13 0 R
  >>
endobj

Annotazioni e altri subtrees saranno menzionati casualmente nella sezione Funzionalità

Caratteristiche

Possibilità grafiche del formato PDF

Non ha senso nel menzionare comune per la maggior parte delle possibilità di descrizione della pagina Possibilità nel disegnare grafica e testo. Diciamo solo che la ricchezza di caratteri e spazi di colore supportati sono gli stessi di PostScript.

Fonts

- Adobe Type 0
- Adobe Type 1
- Compact Fonts (CFF)
- Chameleon
- TrueType
- CID-keyed

Color spaces

- DeviceGray
- DeviceRGB
- DeviceCMYK
- DeviceN
- Separated colors
- Spot
- CIE-based

Trasparenza

PDF supporta la trasparenza.

File esterni

Qualsiasi file media o documento può essere incorporato a PDF o di cui si riferisce da un documento.

Collegamenti ipertestuali

I collegamenti ipertestuali sono supportati in PDF.

Vista elettorale e interattiva

PDF consente di mostrare solo parti del contenuto e il suo aspetto che sono necessari per un determinato utilizzo e nascondere gli altri. È utile, ad esempio, quando si importa la grafica Adobe Illustrator che ha strati alcuni dei quali sono necessari per lavorare in Adobe Illustrator, ma non sono necessari per la visualizzazione in Adobe Acrobat Reader. Un altro caso di vista elettorale può essere un articolo scritto in diverse lingue o rappresentato per gli utenti con disabilità ma salvato in un documento. Ci possono essere anche diverse varianti di utilizzo: una vista per la visualizzazione, la progettazione e la stampa.

Una vista interattiva di PDF include abilità:

L’annotazione è una sorta di casella mobile contenente note, suoni, video o altri contenuti.

La navigazione tra diverse parti dei documenti può essere realizzata in diversi modi:

Lo spostamento tramite viewport e l’occultamento di alcune parti del documento vengono realizzati tramite i dizionari Viewport e NavigationNode.

Aggiornamenti incrementali

Tutte le modifiche apportate nel documento PDF sono aggiunte al documento senza cancellare i contenuti precedenti. E ogni volta che i documenti vengono modificati nuovi XREF (tabella di riferimento incrociata) e il rimorchio. La nuova tabella di riferimento incrociata contiene riferimenti su oggetti aggiunti o rimossi e nella tabella di riferimento incrociata precedente. Tale meccanismo consente di mettere insieme il contenuto finale del documento e, allo stesso tempo, conservare gli stati precedenti del documento.

Prestazione

Le alte prestazioni della navigazione attraverso le pagine sono fornite dalle pagine a una struttura simile all’albero e all’algoritmo di ricerca efficace. Tuttavia, può essere aumentato ulteriormente combinando elementi grafici ripetitivi in ​​un oggetto, chiamato forma xobject e usando un oggetto in tutti i luoghi necessari. C’è anche un modo per ottimizzare l’intero documento per una vista ad alte prestazioni. È linearizzazione. La linearizzazione è stata inizialmente inventata per un’efficace visualizzazione dei documenti PDF accessibili dal Web. Il documento PDF linearizzato è di sola lettura, qualsiasi modifica a questo richiederà una linearizzazione ripetuta.

Le alte prestazioni della navigazione tra gli oggetti di documenti sono realizzate da tabelle di riferimento incrociate che archiviano offset di oggetti dall’inizio del file.

Compressione

La compressione dei documenti PDF, di solito codifica piatta, consente la creazione di grandi documenti con occupazione dello spazio su disco relativamente basso. Ad esempio, il file delle specifiche PDF che contiene 758 pagine con schema, miniature, immagini e tabelle ha una dimensione di circa 9 MB.

Sicurezza

I documenti PDF possono essere crittografati per dare accesso differenziato solo a determinati utenti e possono essere firmati. La funzione di firma digitale consente l’autenticazione dell’identità dell’utente e del contenuto del documento. La firma digitale vincola lo stato del documento quando è firmato con le informazioni dell’utente. La firma digitale può essere in qualsiasi forma: Dalla scansione puramente matematica a retina se viene fornito un corrispondente gestore firma .

Forme interattive

Viene utilizzato per raccogliere informazioni dagli utenti. Le forme interattive, o cosiddette acroforms possono convalidare, formare e inviare i dati dell’utente a un server.

Presentazione

Esistono diversi mezzi di presentazione in PDF:

Contenuto dei media

Immagini, suoni, clip di film e grafica 3D possono essere aggiunti ai documenti PDF.

Dati di estrazione

PDF consente di aggiungere un certo markup che fornisce applicazioni esterne la possibilità di estrarre i dati necessari. Documento con tale markup chiamato tagged pdf .

Premere il supporto

La preparazione per l’editoria include segni di stampante, separazione dei colori, intenti e trapping.

Qual è l’uso di un file PDF?

La principale applicazione dei documenti PDF è lo scambio di documenti elettronici e la visualizzazione in ambienti diversi.

Come faccio a creare un file PDF?

La creazione e l’editing dei documenti PDF sono possibili nelle applicazioni autonome Adobe Acrobat.

Come apro un file PDF?

È possibile aprire e visualizzare i file PDF nell’applicazione autonoma Adobe Acrobat Reader o nel browser Google Chrome con plug -in PDF. Anche utility semplici come Sumatra PDF, Foxit Reader o Free PDFreader, ti aiuteranno. Un altro modo è visualizzare PDF online, ad esempio su Google Drive.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.