Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi...

57
POLITECNICO DI TORINO Facoltà di Ingegneria Corso di Diploma in Ingegneria Informatica Tesi di Diploma Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF mediante libreria iText Relatore prof. Fulvio Corno Candidato Cecconetto Ermano Luglio 2002

Transcript of Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi...

Page 1: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

POLITECNICO DI TORINO Facoltà di Ingegneria

Corso di Diploma in Ingegneria Informatica

Tesi di Diploma

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF

mediante libreria iText Relatore prof. Fulvio Corno

Candidato Cecconetto Ermano

Luglio 2002

Page 2: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Sommario

La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione

legate al sito Appunti.Net. La tesi opera nel contesto dell'automazione dei flussi

produttivi legati al mondo dell'editoria on-line. In tali contesti, il "prodotto" è

rappresentato da un documento in forma elettronica, ed è necessario riprodurre,

mediante un flusso puramente elettronico, tutte le fasi di lavorazione di un

prodotto tradizionalmente cartaceo quale potrebbe essere una rivista, un

documento, un libro. In particolare si esaminerà un flusso produttivo basato sullo

standard PDF (TM Adobe), grazie all'enorme diffusione di tale formato e della

sua naturale candidatura quale rappresentazione naturale degli e-book. Per la

progettazione e l’implementazione delle varie fasi produttive, a partire da un

documento “grezzo” fino al documento “finito”, si è scelto di lavorare con la

libreria di manipolazione iText, che offre, grazie alla sua sufficiente completezza

e versatilità, la funzionalità necessaria per svolgere questa implementazione. Tale

libreria si basa sul linguaggio di programmazione Java.

Il flusso di lavorazione è il più possibile automatizzato, attingendo ai parametri

specifici in alcune fasi di lavorazione da un database contenente le informazioni

specifiche su ciascun documento, mentre per la creazione del documento

intermedio si è preferito lasciare alcuni parametri di codificazione fissi all’interno

della procedura.

La tesi è descritta in 5 capitoli

Page 3: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Il primo capitolo contiene l’introduzione e descrive gli obiettivi e le soluzioni

adottate all’interno del lavoro.

Il secondo capitolo descrive i concetti generali del commercio elettronico ed i

problemi ad esso relativi, nonché le tecnologie riguardanti l’editoria elettronica.

Il terzo capitolo riporta le caratteristiche del formato PDF, del linguaggio Java e

della libreria iText .

Il quarto capitolo contiene la struttura e l’architettura dell’applicazione Java,

nonché i problemi e le soluzioni adottate nello sviluppo del progetto.

Il quinto elabora le conclusioni e i possibili sviluppi.

Page 4: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 1

INDICE

Capitolo 1 Introduzione _________________________________________ 3

1.1 Obiettivi ________________________________________________ 4

1.2 Risultati ________________________________________________ 5

Capitolo 2 Commercio ed editoria elettronica________________________ 7

2.1 E-Generation ____________________________________________ 7 2.1.1 E-Business ______________________________________________ 7 2.1.2 Definizione e tipi di E-Commerce ____________________________ 8 2.1.3 Obiettivi e vantaggi dell’ E-Commerce _______________________ 10

2.2 Problemi relativi al commercio elettronico___________________ 11 2.2.1 Software e sicurezza______________________________________ 11 2.2.2 Spedizioni ed affidabilità __________________________________ 11

2.3 Editoria Elettronica______________________________________ 12 2.3.1 Cenni storici: tecnologie editoriali ___________________________ 13 2.3.2 Il formato digitale e le nuove tecnologie ______________________ 14 2.3.3 Passaggio da carta a digitale________________________________ 16 2.3.4 Copyright ______________________________________________ 17

2.4 E-Book ________________________________________________ 18 2.4.1 EBX __________________________________________________ 18 2.4.2 E-Book reader devices ____________________________________ 20 2.4.3 Reader Software _________________________________________ 21 2.4.4 Il futuro degli e-Book nella carta riscrivibile? __________________ 22

Capitolo 3 - PDFTM, Java e iText _________________________________ 24

3.1 PDF™ _________________________________________________ 24 3.1.1 Caratteristiche del formato PDF_____________________________ 24 3.1.2 PDF e linguaggio PostScript _______________________________ 28

Figura 1.1 Suddivisioni di un PDF _____________________________ 28 3.1.3 Adobe AcrobatTM Reader __________________________________ 29 3.1.4 Adobe SDK ____________________________________________ 30

Figura 1.2 Acrobat Layer ____________________________________ 31 Figura 1.3 Document Object Interrelationship ____________________ 32 Figura 1.4 File I/O Object Interrelationships _____________________ 33

3.2 Java ___________________________________________________ 33 3.2.1 Introduzione al linguaggio Java _____________________________ 33 3.2.2 Programmare in Java _____________________________________ 35

Figura 1.5 Concetto di Classe _________________________________ 36 Figura 1.6 Definizione di una classe ____________________________ 37 Figura 1.7 Creazione di un oggetto _____________________________ 37

3.3 iText __________________________________________________ 37 Figura 1.8 Logo della libreria iText ____________________________ 37

Page 5: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 2

3.3.1 Utilizzo di iText _________________________________________ 38

Capitolo 4 Problemi e soluzioni nella realizzazione del progetto ________ 40

4.1 Appunti.net ____________________________________________ 40

4.2 Definizione problemi nella creazione dei documenti ___________ 41 Figura 1.9 Schema creazione documenti_________________________ 41 Figura 1.10 Documento grezzo ________________________________ 42

4.2.1 Creazione Master ________________________________________ 42 Figura 1.11 Schema creazione Master___________________________ 43

4.2.2 Creazione Copertina ______________________________________ 43 4.2.3 Creazione Vendibile ______________________________________ 44

Figura 1.12 Schema creazione Vendibile ________________________ 44 4.2.4 Creazione Omaggio ______________________________________ 44

Figura 1.13 Schema creazione Omaggio_________________________ 45 4.2.5 Creazione Anteprima _____________________________________ 45

Figura 1.14 Schema creazione Anteprima________________________ 45

4.3 Soluzioni adottate: classe AppuntiNet_______________________ 46 4.3.1 Copertina e Copyright ____________________________________ 46

Figura 1.15 Copertina da inserire ______________________________ 47 4.3.2 Metodo Crea Master______________________________________ 47

Figura 1.16 Copertina documento Master________________________ 48 Figura 1.17 Intestazione e piè pagina documento Master ____________ 49

4.3.3 Metodo CreaVendibile ____________________________________ 49 Figura 1.18 Documento Vendibile _____________________________ 50

4.3.4 Metodo CreaAnteprima ___________________________________ 50 Figura 1.19 Documento Anteprima_____________________________ 52

4.3.5 Metodo CreaOmaggio ____________________________________ 52 Figura 1.20 Documento Omaggio ______________________________ 53

Capitolo 5 Conclusioni_________________________________________ 54

Page 6: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 3

Capitolo 1 Introduzione

Lo sviluppo tecnologico degli ultimi anni ha permesso alle persone di avere a

disposizione una finestra sul mondo, direttamente da casa propria, grazie alla rete

Internet. Inizialmente pensato per permettere la comunicazione e lo scambio di

dati in qualunque luogo mediante una linea telefonica, Internet, grazie alla sua

rapida popolarità e diffusione, si è sviluppato anche su altri supporti sfruttando

connessioni satellitari e canali ad alta velocità, quali le fibre ottiche, oggi in

commercio, permettendo il collegamento di utenti da ogni parte del mondo.

Grazie alla sua natura, programmi e dati sono facilmente distribuibili e si può

sfruttare qualunque risorsa elettronica permettendo lo sviluppo di un commercio

in rete, legale e illegale, di tali risorse. Le aziende si affacciano ora con maggior

impegno, anche se con ancora qualche timore, negli spazi e-businness offerti dalla

rete, aprendo al pubblico propri spazi e negozi virtuali dove offrono i loro servizi

permettendo spesso l’acquisto, da parte dell’utente, di svariati prodotti. Con lo

sviluppo di tale commercio è sorto un problema di tempi di attesa dei prodotti,

ovviamente legato al fatto che l’acquisto avviene immediatamente, ma l’arrivo

della merce ordinata è soggetto ai tempi legati alla spedizione, utilizzando mezzi

terrestri, oltre ad un aumento del costo congiunto appunto a tale spedizione. Se

alla cosa non è possibile ovviare nel caso l’utente acquisti beni prettamente

materiali, come ad esempio un componente hardware per il proprio personal

computer, è sorta la domanda se era possibile trasformare altri oggetti fisici in dati

e introdurli nella rete, rendendo così il commercio più veloce e flessibile. É il caso

dell’acquisto di un CD audio: l’acquisto dell’oggetto fisico da un sito web

comporterebbe tempi di spedizione di alcuni giorni e aumento del costo, dovuto

infatti alle spese di trasporto, mentre la tecnologia oggi permetterebbe la

distribuzione della musica dal negozio all’utente in poco tempo, grazie ai nuovi

metodi di compressione sempre in evoluzione.

In questo contesto si inserisce anche lo sviluppo del commercio elettronico di

libri; per loro natura sono strettamente materiali, ma grazie ai numerosi formati

elettronici di testo presenti nella rete, sviluppano la compravendita in un sistema

Page 7: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 4

più veloce e pratico, annullando praticamente i costi di spedizione. All’interno di

questo ambito si sviluppa la tesi, sfruttando il linguaggio di programmazione Java;

tale linguaggio è ampiamente usato in Internet per la sua natura universale, non

legato ossia alla piattaforma operativa su cui lavora, che gli permette un utilizzo

maggiore. Implementando con apposite librerie il pacchetto base di Java, è

possibile consentire la manipolazione, in tempo reale, di file contenenti testi

elettronici.

1.1 Obiettivi Nell’ambito dell’utilizzo sempre maggiore della rete da parte dell’utente

universitario e non, spesso come base di ricerca per materiale interente ai propri

studi, si è portati all’ausilio di Internet come fonte per la diffusione e reperibilità

di materiale didattico; si è pensato, quindi, di sviluppare il progetto di raccolta e

distribuzione di appunti universitari. È necessario, da un lato, garantire la facilità

con cui reperire le informazioni riguardanti l’argomento desiderato e le loro

consultazioni, mentre occorre altresì tutelare l’autore degli scritti da eventuali

violazioni dei diritti di copyright. Inoltre, solitamente, il testo digitale che viene

inviato per la pubblicazione on-line dagli autori è allo stato grezzo, ossia non

contiene tutte le informazioni tali da poter essere immesso nella rete al

ricevimento dello stesso; occorrerà, quindi modificarlo, aggiungendo, ad esempio,

l’intestazione o il piè pagina, al fine di renderlo un oggetto completo. Tale

procedura non dovrà essere complicata e lunga, in modo da pesare troppo sul

costo dell’elaborato; per sveltire ulteriormente questa elaborazione del testo da

inviare, si è deciso di privilegiare l’aspetto di automazione del progetto per

alleggerire il lavoro umano nella catena di produzione dei prodotti finali,

garantendo la personalizzabilità dei risultati in base alle richieste, mediante

l’utilizzo di apposite librerie che creano la copia in tempo reale del prodotto. I

passi da compiere in questo procedimento vanno dall’elaborazione della copia

grezza all’impaginazione del documento fino alla protezione dello stesso da

accessi indesiderati. La copia grezza dovrà essere impaginata secondo certe regole

per rendere il prodotto simile ad un libro e facilmente consultabile creando così un

Page 8: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 5

documento master che rappresenta l’essenza digitale della copia cartacea. Per

sopperire alle esigenze di copyright si elaborerà ulteriormente il documento prima

della spedizione al singolo studente interessato; egli potrà visionare la buona

fattura del prodotto, prima del pagamento, sia in termini di editoria che di

contenuti e valutarne così l’acquisto. La realizzazione di tali passi viene resa

automatica dall’integrazione di ambienti esistenti con applicazioni scritte ad hoc

alleggerendo così le competenze di chi gestirà l’intera struttura.

1.2 Risultati La scelta della soluzione implementata è stata condizionata dalla facilità d’uso e

completezza della libreria su cui operare e dalla sua integrabilità con sistemi

esterni appropriati. Poiché la scelta dell’editoria elettronica fatta si basava su

tecnologia PDF (Portable Document Format), formato che, oltre ad essere

portabile, ha una struttura robusta che si adatta bene alle esigenze della rete, ci si è

trovati di fronte a numerose librerie, create appositamente per la manipolazione e

la creazione in tempo reale di documenti; ci si è quindi orientati verso la scelta di

un prodotto versatile e in continuo aggiornamento, che garantisca una migliore

possibilità di sviluppo futuro; dopo una fase iniziale di analisi di queste librerie, si

è pensato di sviluppare il progetto utilizzando le librerie di iText. La società che

ha ideato queste librerie, fornisce agli sviluppatori la versione gratuita delle stesse,

grazie alla quale si è potuto personalizzare ed ampliare le possibilità offerte dagli

ambienti di sviluppo esistenti, realizzando un prodotto finito e specifico per il

nostro scopo. Le fasi di sviluppo e modifica del documento grezzo comprendono

il passaggio al documento master in cui viene aggiunta una copertina, recante il

titolo e gli autori, nonché il logo e l’indirizzo web del sito informatico; viene

altresì aggiunto il codice identificativo del documento e le informazioni sul

copyright. Su ogni pagina è aggiunta un’intestazione, recante il titolo,

eventualmente tronco, e il sito, oltre ad un piè di pagina, in cui sono riportati il

progressivo di pagina e il nome dell’autore, oltre al codice del documento. Altre

funzioni sono relative alla creazione di documenti ridotti in numero di pagine per

Page 9: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 6

permettere la visione dell’elaborato a chi è interessato, oppure di copie

distribuibili a scopo pubblicitario.

A livello di sicurezza, si è voluto proteggere il prodotto distribuibile in modo da

evitare la modifica sia accidentale che maliziosa dei contenuti; per questo motivo

si prevede anche la possibilità di proteggere in modo diversificato i vari

documenti.

I dati relativi alla creazione del documento master possono essere o forniti da un

operatore, o reperiti attraverso un database, mentre le altre procedure vengo

eseguite in automatico, recuperando le informazioni necessarie dal database,

contenente autori, titolo, codice del prodotto, ecc.

Ciò al fine di rendere più automatica e veloce possibile la procedura che consente

la creazione e vendita dei documenti in rete, poichè in questo caso il costo

maggiore per l’utente è appunto il tempo di attesa che passa dall’acquisto al

ricevimento del file voluto.

Page 10: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 7

Capitolo 2 Commercio ed editoria

elettronica

Con l’appellativo “Commercio Elettronico” (e-Commerce) si identifica

comunemente la possibilità di acquistare beni, di diversa natura, attraverso

Internet. Tuttavia l’e-Commerce è un’attività articolata e complessa con obiettivi

precisi. Esso non è quindi propriamente un servizio di Internet o di una qualsiasi

rete telematica, ma nel suo insieme è un’attività umana "tradotta" in un linguaggio

differente da quello "materiale", ma i vantaggi che ne emergono possono essere

enormi e sono intrinsechi nel nuovo sistema. Le possibilità offerte sono talmente

flessibili da aver permesso lo sviluppo che oggi vediamo sulla rete ed hanno anche

trascinato l’economia verso nuove soluzioni.

2.1 E-Generation L’esplosione di questo fenomeno segna simbolicamente una tappa importante

nell’evoluzione della società umana: il raggiungimento di un grado di sviluppo

tecnologico tale da poter accogliere e gestire in un sistema virtuale un sistema

reale. In questa trasposizione, con perfetta analogia, si hanno soggetti, regole,

ordinamenti, servizi, strutture, prodotti e relazioni.

2.1.1 E-Business

L’e-Business esiste concettualmente da qualche anno e racchiude al suo interno

tutte quelle attività come il commercio elettronico che possono essere svolte

mediante infrastrutture informatiche.

L’e-Commerce si amplia verso i servizi finanziari nel virtual banking e può

estendersi verso tutta la catena del valore che contraddistingue la nascita, la

produzione, la distribuzione e vendita di un bene.

Ancora, appartenenti all’e-Business possiamo collocare:

Page 11: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 8

� l’informazione

� l’intrattenimento

� la didattica

tre settori molto promettenti in quanto veicolano beni immateriali particolarmente

adatti alla virtualizzazione.

2.1.2 Definizione e tipi di E-Commerce

Il commercio elettronico è costituito da operazioni che coinvolgono imprese e

individui, mirate allo scambio di beni materiali o immateriali a cui è assegnato un

valore, attraverso un’infrastruttura informatica o una rete di telecomunicazione.

In generale il commercio elettronico si estrinseca attraverso lo scambio di

informazione che può essere codificata in qualsiasi modo ed inserita in una

procedura di acquisto, che prevede una transazione economica; le parti che

partecipano ad un’operazione di commercio elettronico definiscono la tipologia di

quest’ultimo.

Non vi è un’unica forma di Commercio Elettronico, perché gli ambienti nei quali

si svolge l’attività commerciale e i soggetti coinvolti possono avere natura

diversa, ad esempio si può rivolgere al cliente finale, all’agente, alla filiale

internazionale o al fornitore. È evidente che le esigenze da soddisfare dipendono

in modo significativo dalle dinamiche commerciali e dalla tipologia dei soggetti

che si vuole coinvolgere, e ciò finisce anche per influenzare la scelta degli

strumenti tecnologici che un’azienda adotta per fare commercio on-line.

Questa precisazione ci porta a identificare quattro tipi fondamentali di Commercio

Elettronico:

• Business to Business.

Nella categoria B-to-B (Business to Business) rientrano tutte quelle

transazioni nelle quali i soggetti coinvolti siano due o più aziende.

Tipicamente un’impresa potrebbe utilizzare la rete per inoltrare ordini ai

propri fornitori, acquisire documentazione sui prodotti, ricevere o

Page 12: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 9

effettuare pagamenti. È il tipo di commercio che esite da più tempo, come

precedentemente citato.

• Business to Consumer.

La categoria B-to-C (Business to Consumer) comprende, invece, i processi

di vendita al dettaglio. I soggetti coinvolti sono l’azienda, che offre i

propri prodotti, ed il consumatore finale; l’esplosione di questa tipologia di

Commercio Elettronico ha coinciso con la capillare diffusione di Internet

negli uffici, nelle case, nelle scuole e se da un lato questo nuovo media ha

permesso ad aziende di tutto il mondo, di entrare in contatto diretto con

consumatori altrimenti difficilmente raggiungibili, dall’altro, per i

consumatori stessi, si è aperta la possibilità di avere accesso ad una offerta

straordinariamente ampia di prodotti, stando comodamente seduti davanti

al proprio computer.

• Consumer to Consumer.

Questa è una forma più recente di Commercio Elettronico, salita alla

ribalta dell’attenzione e della popolarità grazie al forte sviluppo sulla Rete

dei siti di aste on-line. Su questi siti gli utenti della Rete possono

scambiare tra loro prodotti secondo il modello dell’asta.

• Intra-Business.

È questo il caso che coinvolge un’azienda con sedi distribuite sul territorio

o un insieme di aziende appartenenti allo stesso gruppo. In tali situazioni le

esigenze di scambio di beni e servizi all’interno delle unità della struttura

possono essere soddisfatte attraverso la Rete ed essere accompagnate da un

rendiconto economico. Le principali caratteristiche del commercio intra-

aziendale sono molto simili a quelle del B-to-B con la restrizione che di

norma il gruppo di soggetti coinvolti è rigorosamente chiuso, la

classificazione dei prodotti è già data e la transazione economica passa in

secondo piano (può essere eseguita a distanza di tempo, a consuntivo).

Page 13: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 10

2.1.3 Obiettivi e vantaggi dell’ E-Commerce

L’obiettivo principale dell’e-Commerce è quello di svincolare totalmente il

mercato da fattori temporali e spaziali con le relative conseguenze, ossia il

compratore non è più vincolato ad orari predefiniti e non si deve più preoccupare

di raggiungere fisicamente il luogo dove avviene la vendita: può accedere in

qualsiasi momento da casa propria o dall’ufficio teoricamente a qualsiasi bene.

Il primo risultato è che il problema relativo alla godibilità di un bene in relazione

alla disponibilità sul territorio si risolve, poiché Internet è un mondo senza confini

la cui metrica non ammette la dimensione spaziale.

L’acquirente che compra attraverso Internet può accedere ad insiemi di

informazioni che, a volte, sono difficilmente reperibili nel caso di commercio

tradizionale e può avvalersi di servizi personalizzati, più confacenti alle proprie

aspettative, che si riflettono anche nell’assistenza pre e post-vendita. Inoltre

l’acquirente, data l’ampia offerta, ha la possibilità di monitorare e selezionare i

prezzi più convenienti in assoluto. A questi vantaggi per il compratore,

specularmente, emergono vantaggi anche per il produttore/venditore di beni;

infatti possiamo identificare due benefici: il primo coinvolge la razionalizzazione

dei processi tradizionali, mentre il secondo introduce nuovi elementi di

competizione.

La maggiore conoscenza delle esigenze dei clienti, disponibile dai meccanismi

dell’e-Commerce, fa sì che l’impresa possa personalizzare sempre di più l’offerta

e la padronanza di processi produttivi diventi più agile e flessibile.

Tutto ciò produce un aumento di competitività ed una teorica riduzione dei prezzi

all’utente finale. Infine, ma forse elemento più importante, l’e-Commerce riduce

drasticamente il livello di ingresso nei vari mercati ridimensionando l’aspetto

finanziario a favore di quello di marketing e di prodotto. In altre parole esso

attenua drasticamente il livello di rischio nel raggiungere e operare in nuovi

mercati.

Page 14: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 11

2.2 Problemi relativi al commercio elettronico

Il flusso di dati che è andato via via aumentando in Rete, anche grazie al

commercio elettronico, ha causato reali problemi sulla gestione di tale attività, sia

in termini di sicurezza per l’utente, che di affidabilità dei sistemi informatici da

parte delle aziende che vi operano. Non si vuole certo scrivere un elogio a tale

sistema di scambi, bensì presentarne obiettivamente vantaggi e svantaggi ed

analizzare le problematiche.

2.2.1 Software e sicurezza

Uno dei problemi più rilevanti relativi a questo riguarda il software da utilizzare e

la sicurezza che esso garantisce. Tenendo conto che sulla rete e sul server del sito

in esame sono presenti informazioni riguardanti i clienti, bisogna garantire

riservatezza ed impossibilità di accessi non desiderati. Si richiede quindi software

di gestione delle transazioni, sistemi operativi ed applicazioni fault tolerant

inattaccabili da pirati informatici. Proprio per la difficile risoluzione di questi

problemi ancora non ci si fida completamente ad utilizzare la carta di credito

come mezzo di pagamento attraverso la rete; ciò è dovuto anche alle intrusioni di

alcuni hacker che tendono a violare siti della Rete, a volte per puro divertimento,

altre come obiettivo distruttivo, dimostrando quanto sia difficile garantire la totale

immunità del sistema. Le soluzioni adottate sono molteplici e spaziano dal

semplice pagamento al corriere, utilizzabile in caso di spedizione fisica di

materiale, all’utilizzo di tessere prepagate che limitano i danni in caso di

carpimento del codice di utilizzo, fino all’uso di transazioni sicure con crittografia

e firma digitale che si appoggiano direttamente alla banca del cliente.

2.2.2 Spedizioni ed affidabilità

Un altro punto critico relativo al suddetto discorso riguarda le spedizioni fisiche di

beni materiali acquistati in rete e la velocità di ricevimento; considerata la

lentezza delle spedizioni terrestri, molte volte si è propensi a consultare la Rete

Page 15: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 12

per avere nozioni sul prezzo, oppure informazioni tecniche, e verificare la

disponibilità nel proprio territorio dell’oggetto, piuttosto che aspettare la

tempistica delle spedizioni ordinarie; altrimenti, per ottenere il bene in tempi

brevi, occorre aggiungere al costo base, spese ulteriori per mezzi più veloci,

rendendo poco competitivo il prezzo. Questi deterrenti non si presentano invece

nel commercio di beni interamente digitali, come programmi, musica e

documentazione, che possono venire spediti grazie ai servizi Internet.

Un punto chiave per sviluppare questo commercio è garantire affidabilità; a causa

della vastità ed eterogeneità della rete, potrebbero sorgere, come già si ricorda,

negozi virtuali fantasma dediti solo a rubare informazioni personali dei clienti e

numeri validi di carte di credito. Chiaramente il requisito fondamentale di un

negozio virtuale è guadagnarsi e mantenere la fiducia del cliente.

La possibilità di muoversi su mercati globali e quindi di disporre di un gran

numero di prodotti equivalenti tra cui scegliere, magari irreperibili nei negozi a

causa di fattori geografici o economici avversi, è il grande vantaggio del

commercio elettronico; esso però deve avere requisiti di sicurezza ed affidabilità,

superiori ad un esercizio di vecchia concezione, molto difficili da ottenere, a causa

dell’impersonalità del contatto col pubblico.

2.3 Editoria Elettronica Uno sguardo attento si deve volgere allo sviluppo dell’editoria elettronica, poiché

grazie alla sua facile trasformazione dal supporto cartaceo tradizionale, al mezzo

elettronico, ne fa uno dei migliori candidati all’e-Commerce. Mezzi di

informazione tramite stampa e supporti elettronici, coesistono da svariati anni;

dallo studio sull'andamento del mercato non sembra ci siano segnali sostanziali di

riduzione per la stampa, mentre la forbice dei ritmi di crescita dei due settori si sta

allargando sempre più. Il formato elettronico, però, non sembra a breve scadenza

poter intaccare il ruolo primario di quello stampato, a causa di vantaggi intrinseci

quali comodità, portabilità, familiarità. A fronte di questi punti di forza l'editoria

elettronica si propone con altrettante peculiarità interessanti e perlopiù alternative

sull'uso e nei contenuti.

Page 16: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 13

Grazie all'estrema semplicità di diffusione su Internet e WWW, recentemente

un'altra questione sta assumendo una consistenza che va oltre al semplice

formalismo: la certificazione della qualità e/o l'identificazione della fonte di

informazioni.

Quest'ultimo punto con l'esplosione delle pubblicazioni su WWW sta assumendo

sempre una crescente importanza; infatti essendo ogni utente di Internet un

potenziale editore, l'autorevolezza e l'autentificazione del fornitore di

informazioni pone sempre più problemi di certificazione e di competenza.

Lo scenario dell'editoria on-line su Internet presenta tre possibili contesti di

produzione:

• Editoria tradizionale

Rappresentano la maggior parte dell'editoria elettronica, dove un

precedente prodotto già esistente su supporto cartaceo tradizionale viene

riprodotto in formato digitale.

• Organizzazioni Intermediarie

Sono delle società il cui scopo è quello di realizzare servizi editoriali

elettronici partendo da dati forniti da un editore tradizionale. Lo scopo è

quello di realizzare dei prodotti sofisticati, tramite specifiche competenze

tecniche e organizzative, evitando l'onere all'editore tradizionale.

• Editoria multimediale

Sono i nuovi soggetti che pensano al prodotto esclusivamente in funzione

del supporto utilizzato, sfruttando completamente tutte le nuove capacità.

La vera differenza che separa questo genere di editoria da quella cartacea è

l'ingegnerizzazione dei contenuti e del flusso di produzione.

2.3.1 Cenni storici: tecnologie editoriali

L'era della stampa a livello di processo industriale iniziò con la creazione del

tedesco Johann Gutemberg dell'omonimo torchio. La novità essenziale di questo

sistema consisteva nell'utilizzare caratteri mobili nella costruzione della matrice di

Page 17: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 14

stampa, anziché essere costituita da un unico modulo. Solo nel 1814 la macchina

per la stampa di Koening apportò una prima sostanziale modifica utilizzando

l'energia termica al posto della fatica umana. Nel 1866 la prima macchina rotativa

(dal nome Walter) entrò in funzione nella tipografia del Times di Londra. La sua

novità consisteva nell'utilizzare una matrice cilindrica per la stampa, in maniera da

realizzare un processo continuo di riproduzione con movimento rotatorio,

enormemente più produttivo del precedente metodo.

Nel 1886 la macchina denominata “linotypè” cambierà la maniera di comporre

tipograficamente le pagine: il procedimento, totalmente manuale, di reperimento

ed inserimento dei singoli caratteri diventa meccanicamente automatico mediante

l'uso di una apposita tastiera.

Il successivo passo è costituito dalla nascita della fotocomposizione intorno al

1950. In tale processo il tipografo agisce ancora su di una apposita tastiera che

però, incide direttamente su una particolare pellicola usando un principio chimico-

fotografico saltando il procedimento meccanico. Con ciò finisce l'età del piombo

fuso e della “lavorazione a caldo” ed inizia l'era della “lavorazione a freddo”, in

cui la composizione viene gestita sempre più tramite l'elaboratore elettronico.

Oggi l'uso di tecnologie informatiche è stato esteso all'intero processo di

produzione del giornale; si è così ottenuto il passaggio del modello produttivo da

quello tipografico a quello redazionale. Questo significa cioè integrare la

produzione in un unico flusso, ovvero non dover scrivere i pezzi giornalistici in

redazione e quindi rivederli a posteriori per motivi di impaginazione in sede

tipografica, ma creare il formato finale di impaginazione ed i relativi testi

direttamente a partire dai giornalisti in redazione, in maniera interattiva ed

autonoma, riducendo costi e tempi.

2.3.2 Il formato digitale e le nuove tecnologie

La fornitura di servizi informativi on line su Internet è iniziata negli Stati Uniti,

con l'editoria telematica in varie forme nelle modalità e nei contenuti.

Un primo livello di diffusione di editoria telematica è costituito tecnicamente dalle

newsletter, ovvero e-mail diffuse periodicamente, a pagamento o meno,

Page 18: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 15

dall'editore ad una lista di utenti abbonati (mailing list); spesso le mailing list

vengono affiancate da servizi Gopher. In quest’ultimo modo cambia la modalità di

diffusione: non è più l'informazione che viene effettivamente spedita all'utente

registrato su iniziativa dell'editore, ma è l'utente che richiede i dati (in maniera

registrata o meno) nei tempi e nei modi che risultano a lui più congeniali.

Questa modalità di diffusione delle informazioni su Internet tecnicamente può

essere realizzata essenzialmente attraverso tre strumenti principali e cioè in ordine

di creazione cronologica con:

• File Transfer Protocol

• Gopher

• World Wide Web (WWW)

La pubblicazione tramite quest'ultimo sistema permette quindi di avere i vantaggi

dell'architettura WWW quali essenzialmente la multimedialità e la possibilità di

interagire, come ad esempio nelle interrogazioni su di un archivio o, più

generalmente, con qualsiasi altra funzione realizzabile dal fornitore.

Secondo Philip Barker, professore dell'Interactive System Research Group

dell'Università di Tesside in Inghilterra, i principali limiti che può accusare

l'editoria cartacea tradizionale rispetto a quella elettronica sono:

• la difficoltà di riproduzione

• i costi di diffusione

• l'impossibilità di condivisione di singole copie

• la difficoltà di aggiornamento

• l'ingombro fisico

• la fragilità del supporto

• la mancanza di reattività sui contenuti

• l'impossibilità di usare suoni ed animazioni

Page 19: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 16

• l'incapacità di monitorare direttamente l'attività del lettore e di giudicarne

il livello di comprensione

• l'impossibilità d'autoconfigurarsi rispetto all'utente.

A fronte di questi limiti brillano i vantaggi dell'editoria elettronica che possono

essere elencati essenzialmente in:

• multimedialità

• enorme durata nel tempo

• abbattimento dei costi di diffusione

• tempestività di diffusione per le informazioni on-line

• interattività.

Nell'ultimo importante punto possiamo rintracciare tutte le funzionalità aggiuntive

che può sviluppare l'informatica su una base informativa (ipertesti - ipermedia -

interrogazioni – agenti intelligenti).

2.3.3 Passaggio da carta a digitale

In generale, per convertire il documento da formato cartaceo ad elettronico, si

hanno due modi: o lo si copia manualmente tramite la tastiera del pc, un lavoro

lungo e noioso, oppure più agilmente si trasferisce un’immagine che rappresenta

la sorgente dei dati, tramite uno scanner ottico. Si deve considerare che

quest’ultimo, pur essendo un procedimento più breve del precedente, presenta

degli inconvenienti come il bilanciamento della risoluzione dell’immagine ed il

numero di livelli di grigio con la quantità di memoria utilizzata e la qualità

dell'immagine trasferita, oltre al fatto che se il testo è scritto a mano, il

rilevamento dei caratteri spesso non è completo, e quindi occorre ripassare il

documento per correggere eventuali errori. Se si tiene conto della risoluzione

media desiderata e si considerano sia la lettura del testo a video sia la stampa si

nota che una risoluzione di 300 dpi è sufficiente per leggere bene un documento

da un monitor mentre non lo è se si desidera stamparlo; aumentando la risoluzione

Page 20: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 17

a 1200 dpi migliora notevolmente la qualità di stampa a scapito di maggiore

occupazione di risorse.

Scansioni di pagine stampate possono essere sottoposte a tre o quattro filtraggi

spaziali durante l’elaborazione, ma soltanto con prove ripetute si possono evitare

fastidiosi pattern di Moirè, ne sono un esempio le bitmap che contengono sia

immagini che testo.

Un'altra considerazione importante riguarda il formato JPEG che, pur fornendo

elevate percentuali di compressione riducendo le componenti ad alta frequenza (i

particolari), non dovrebbe essere utilizzato su bitmap contenenti testo e grafica

poiché si rischia di rendere illeggibili le parole.

Non si vuole comunque approfondire tale argomento in quanto già ampiamente

trattato da vari applicativi commerciali e quindi inutile ai fini dell’elaborato.

2.3.4 Copyright

Il problema aperto per eccellenza rimane la concezione di copyright, in particolare

nel campo dell'informazione on-line, facilmente duplicabile e ridistibuibile. Il

maggiore ostacolo al pieno sviluppo dell'editoria elettronica risiede nella difficoltà

di individuare criteri di tutela della paternità intellettuale di opere circolanti sulla

rete. A differenza di quanto avviene con le pubblicazioni a stampa, nell'ambiente

digitale l'informazione può essere catturata, manipolata e alterata senza che di ciò

resti traccia, se non si pongono limiti.

Il mondo di Internet, riguardo al copyright, è assai incerto, sfumato, ricco di

contraddizioni e finora non si sono registrati precisi interventi legislativi in difesa

di un patrimonio culturale così vasto e importante. Ma se è vero che "copiare"

nell'era digitale è più veloce, più economico e più facile che in passato, è altresì

vero che autori ed editori possono esercitare un ruolo "educativo", comunicando

via rete con i propri interlocutori ed indicando quale è il possibile impiego dei

materiali messi a disposizione: si viene così a stipulare una sorta di contratto

morale che permette di incentivare le prospettive dell'editoria elettronica evitando

un uso scorretto dei documenti.

Page 21: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 18

2.4 E-Book Sempre maggiormente, nel ramo dell’editoria elettronica, prende campo l’e-Book,

visto come naturale sviluppo di questo commercio, tanto che il 19 aprile 2002 ha

visto la nascita della “International eBook Association”, il cui obiettivo sarà di

supportare la crescita del mercato dell’eBook; infatti la Microsoft Corporation ha

annunciato la nascita della IeBA, una nuova organizzazione con sede in Europa

che supporterà la comunità mondiale dell’eBook, promuovendo le crescenti

opportunità e le grandi potenzialità offerte dal settore del libro elettronico. La

nuova associazione intende proseguire il lavoro pionieristico svolto dalla

International eBook Award Foundation (IeBAF), che cesserà la propria attività

alla fine di aprile. La nuova organizzazione International eBook Association

(IeBA) nasce con l’obiettivo di risolvere le criticità che l’editoria elettronica si

trova ad affrontare e facilitare la diffusione del libro elettronico, promuovendo

inoltre nuovi riconoscimenti internazionali per il settore degli eBook. Molto è

anche dovuto al recente Reader realizzato dalla società promotrice, ma la

Microsoft non è la sola società impegnata in tal senso, tanto che si è sentita la

necessità di un protocollo di regolamentazione, sviluppatasi con la creazione

dell’EBX (Electronic Book Exchange). Tale sviluppo ha permesso anche nuove

nascite commerciali on-line, come ad esempio la EvolutionBook

(www.evolutionbook.com), che dal 1999 opera nel settore degli e-Book, con lo

scopo di far nascere anche in Italia interesse da parte del pubblico verso il libro

elettronico, costruendo un sito interamente dedicato a questo mondo editoriale,

dalla commercializzazione dei semplici testi elettronici, alla descrizione dei

software e hardware in commercio per la lettura di e-Book, divenendo in pochi

anni una delle realtà più dimaniche presenti nel settore. Tratteremo in questo

paragrafo brevemente dello standard EBX e di alcuni tipi di reader.

2.4.1 EBX

Questo standard, è nato principalmente per fornire un supporto sicuro al

commercio elettronico degli e-book. Infatti, incorpora al suo interno delle

estensioni al protocollo HTTP, che permettono di creare connessioni più sicure tra

Page 22: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 19

due server e, tra un server e un client. Non è assolutamente necessario conoscerlo

per acquistare un e-book, è come dire che per navigare in internet bisogna

conoscere in dettaglio l'HTTP, il TCP/IP ecc..

Il principio su cui si basa è l'uso di una doppia coppia di chiavi, una simmetrica

(ovvero la chiave di crittazione e quella di decrittazione sono identiche) e l'altra

asimmetrica (le due chiavi, una di lettura e l'altra di scrittura, sono diverse e,

avendone una si può risalire alla seconda solo con una serie di calcoli che,

attualmente, impegnerebbero i computer più potenti del mondo per migliaia di

anni). Con la prima viene crittato il contenuto della pubblicazione, la seconda

coppia di chiavi viene usata per le transazioni.

Quest'ultime adottano il seguente metodo, il server (o il client) che deve

acquistare il libro, invia la richiesta al server che è preposto alla vendita per quel

tipo di server richiedente. Spieghiamo, un server di un distributore farà la richiesta

a quello dell'editore. I server delle librerie online, la faranno a quello del

distributore. Infine, i programmi client che potremo installare nei nostri PC,

faranno le richieste ai server delle librerie online. Ogni passaggio è una

transazione commerciale vera e propria. Ovvero, il distributore acquista

dall'editore e vende alla libreria online e così via.

Ogni volta che viene inviata una richiesta, il server (o client) richiedente allega la

propria chiave di scrittura (pubblica , cioè tutti possono usarla per crittare

documenti da inviargli), con la quale verrà crittata la chiave simmetrica per

decrittare il contenuto dell'ebook. Il richiedente, dopo aver ricevuto l'e-book,

decritta la password simmetrica, utilizzando la sua chiave di lettura (privata, ossia

non deve essere mostrata a nessuno, pena la decadenza dei requisiti di sicurezza e

quindi la possibilità di ognuno di decrittare il file senza averlo acquistato). Con la

chiave simmetrica decrittata può decrittare il contenuto dell'ebook e quindi

leggerlo.

L'iter può sembrare complesso, ma rileggendo i passi precedenti, con la dovuta

calma si riesce a capire in maniera sufficientemente rapida. Un'ultima nota,

riguarda il voucher (ricevuta) che viene utilizzato per stabilire, tra le altre cose, i

diritti posseduti su un e-book ("cedibile", "prestabile", "stampabile") e lo status

attuale ("posseduto", "prestato" o "preso in prestito"). Per esempio, se il mio e-

Page 23: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 20

book è "prestabile" e lo presto ad un mio amico per 10 gg., io avrò, nel mio e-

book reader, una copia dell'e-book ed un voucher con status "prestato". Lui avrà,

nel suo e-book reader un'altra copia dell'e-book ed un voucher con status "preso in

prestito". Entrambi avremo nel voucher un timeout di 10 gg., durante i quali, la

copia presa in prestito sarà utilizzabile e la mia no. Allo scadere del tempo accadrà

il viceversa. E chi possedeva la copia in prestito non potrà più leggerla a meno

che, non venga fatto un nuovo prestito. Per effettuarlo, ogni volta si deve

compiere un transazione in EBX (svolta in automatico dai software che che

supportano questo standard e, in pochi secondi). Se la copia viene ceduta, invece,

verrà cancellata dal nostro ebook reader e trasferita nell'e-book del destinatario

insieme al voucher. L'ultimo diritto è quello di stampare. Nel voucher, quando è

presente il permesso "stampabile", c'è scritto il numero di copie che si possono

stampare e, se sono copie dell'intero libro, di singoli capitoli, paragrafi o pagine.

2.4.2 E-Book reader devices

Distinguiamo principalmente tre tipi di reader hardware, ossia strumenti fisici che

permettono la lettura di e-book in modo maneggievole e portatile:

• Lettori dedicati : rappresentano gli eBook reader devices per eccellenza

dato che sono stati concepiti per rispondere alle esigenze di lettori di testi

in formato elettronico;

• Palm e PocketPC : tali eBook reader devices in realtà sono dei dispositivi

la cui natura è quella di essere a metà tra un organizer e un computer

portatile. Sono dotati molto spesso di (versioni appositamente rivisitate)

sistemi operativi. Il loro prezzo è più elevato rispetto a quello dei

LETTORI DEDICATI.

• Tablet PC : rientrano in questa categoria tutti gli eBook reader devices

specificamente progettati per avere un'esperienza completa e multimediale

nella navigazione in Internet. Nati nel momento in cui si pensava potessero

conquistare il mercato i SET TOP BOX (cioè dei dispositivi

esclusivamente pensati per la navigazione su Internet completamente

Page 24: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 21

indipendenti dal PC, ma con un potenza a volte paragonabile ai NoteBook)

sono stati riconvertiti alla funzione di eBook reader (non dedicati) per

sfruttare il settore dell'editoria elettronica. Le caratteristiche tecnologiche

presenti sui questi dispositivi giustificano un prezzo piuttosto elevato

rispetto alle altre due famiglie di lettori eBook.

2.4.3 Reader Software

Sono software nati per i diversi dispositivi di lettura hardware (pc, notebook,

pocket pc, etc.). Tra i più famosi citiamo:

- Microsoft Reader

Il Microsoft Reader risulta essere uno dei lettori software eBook più intuitivi

attualmente presenti sul mercato. Nelle sue varie evoluzioni oggi è giunto alla

versione 2.0 e può essere considerato probabilmente il software più diffuso.

Utilizza la tecnologia ClearType grazie alla quale le parole sullo schermo vengono

visualizzate quasi con la stessa nitidezza delle parole in una pagina stampata; la

stessa migliora fino al 300% la risoluzione su schermi LCD per fornire un tipo di

visualizzazione molto definita. Il layout è semplice e ordinato, i margini ampi, la

spaziatura, l'interlinea e la crenatura appropriate. Il Microsoft Reader presenta

vantaggi in termini di portabilità, memorizzazione e altre funzionalità digitali,

quale la capacità di trovare una parola o una frase specifica ogni volta che appare

nel testo, nonché un modo semplice per cercare definizioni con rapidità. In

Microsoft Reader 2.0 per PC e computer portatili per Windows e Pocket PC con

sistema operativo Windows, è possibile memorizzare tanti libri quanti ne può

contenere il dispositivo in uso. Microsoft Reader consente inoltre di eseguire le

stesse operazioni che si compiono quando si legge un libro stampato, ad esempio

aggiungere segnalibri e note ai margini. È quindi possibile visualizzare

nuovamente in un'unica posizione tutte le note ai margini, quali segnalibri, disegni

ed evidenziazioni. La versione corrente di Microsoft Reader supporta funzionalità

per testo, immagini e audio. Viene fornito anche il supporto per HTML e

collegamenti HTML. Ulteriori formati, quali flussi video, verranno supportati

Page 25: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 22

nelle versioni successive. Non esistono attualmente progetti di sviluppo di

versioni di Microsoft Reader per altre piattaforme (Macintosh, Palm o Linux).

- Acrobat eBook Reader

L'Acrobat eBook Reader deriva dal precedente lettore Glassbook Reader. Giunto

ormai alla versione 2.2 questo lettore si presta ad essere molto versatile ed

intuitivo. Grazie alla combinazione di visualizzazioni per la lettura vivide ed

eleganti e di un'interfaccia altamente funzionale, Acrobat eBook Reader fa

assaporare tutto ciò che i libri elettronici hanno da offrire. E' dotato della

tecnologia CoolType per una migliore leggibilità dei "font" e consente il

cosiddetto "riflusso del testo" (caratteristica che permette a seconda della

grandezza della pagina e del fattore di zoom adottato, di mandare il testo a capo

automaticamente). Questo software di lettura consente di visualizzare i libri

elettronici completi di immagini, grafica e i sofisticati font con la stessa tecnica e

le stesse modalità utilizzate per i libri stampati. Non poteva che essere così visto

che, oltre a ricevere l'eredità dal lettore software della Glassbook, emula i migliori

pregi del noto programma di lettura dei documenti in formato .pdf : Acrobat

Reader. La versione corrente di Acrobat eBook Reader supporta funzionalità per

testo, immagini e audio. Ulteriori formati, quali flussi video, verranno supportati

nelle versioni successive. L'Acrobat eBook Reader può essere installato su tutti i

dispositivi hardware attualmente in commercio: PC, portatili (notebook), palmari,

pocket pc.

2.4.4 Il futuro degli e-Book nella carta riscrivibile?

Lo Xerox Palo Alto Research Center è un centro in cui l'editoria elettronica, fra le

altre cose in progetto, farà passi da gigante. L'ultima delle invenzioni di questo

vulcanico laboratorio è un tipo di carta elettronica riusabile: il Gyricon.

Questo nuovo tipo di carta sarà, per molti aspetti, simile alla carta che usiamo tutti

i giorni. Avrà uno spessore ed un peso non distinguibili da un foglio di carta ed

anche il suo costo dovrebbe essere di poco superiore. Una differenza, però, c'è:

questa nuova carta elettronica sarà riscrivibile migliaia di volte. Il suo impiego

Page 26: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 23

ideale è per display per portatili a basso consumo, cartelloni pubblicitari

riscrivibili e naturalmente display per eBook!

Passando all'aspetto puramente tecnico, possiamo descriverla come una carta

elettronica riusabile (electronic reusable paper) che sfrutta una nuova tecnologia

di visualizzazione chiamata Gyricon, appunto. Un foglio Gyricon è uno strato

sottile di plastica trasparente, nel quale sono dispersi milioni di piccoli grani.

Questi grani, ognuno contenuto in una cavità riempita d'olio, sono liberi di rotare

all'interno della stessa cavità. Sono bicromatici, ovvero sono sfere colorate per

metà con un colore chiaro e per l'altra metà con uno scuro che faccia contrasto

(per esempio, bianco e nero, oppure rosso e bianco). Inoltre, hanno cariche

opposte sulle diverse facciate, in modo da costituire un dipolo. Se un voltaggio è

applicato sul foglio Gyricon, essi si dispongono presentando una delle loro facce,

a seconda di quale carica è stata trasmessa. Ovviamente, può essere esercitato un

voltaggio differente per ogni zona allo scopo di disegnare dei motivi. In questo

modo si possono creare testi ed immagini che persistono fino a quando un nuovo

voltaggio verrà applicato. Verrà immesso il Gyricon Printer; questo processo di

creazione di immagini può essere fatto manualmente con delle stilo caricate

elettronicamente, oppure tramite dispositivi elettronici che possono stampare su

fogli Gyricon usando testine cariche elettronicamente. Alcuni di questi dispositivi,

che sono stati recentemente progettati, hanno una dimensione che dovrebbe

consentirgli di stare all'interno di borse o portafogli! Un'altra applicazione è quella

di sfruttare le matrici elettroniche usate per gli LCD allo scopo di produrre display

a basso consumo e senza bisogno di retroilluminazione. Una partnership con la

3M ha permesso di avviare una produzione dell'electronic reusable paper, in

quantità tale da essere adatta ad un uso commerciale.

Page 27: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 24

Capitolo 3 - PDFT M, Java e iText

In questa parte tratteremo, in modo generico, del formato elettronico PDF, poiché

è a larga maggioranza ritenuto il più adatto ad essere modificato sotto certe

condizioni, protetto da accessi maliziosi e utilizzabile con applicativi disponibili

gratuitamente per il pubblico; una breve trattazione sul linguaggio Java introdurrà

poi una panoramica sulla libreria iText, citando gli ideatori di questo progetto e

quali sono le possibili realizzazioni che permette di eseguire mediante le sue

librerie.

3.1 PDF™ Il Portable Document Format è stato progettato per l’interscambio di documenti in

modo che il ricevente veda esattamente il documento come è stato creato

indipendentemente da diverse elaborazioni fatte su di esso. La principale

differenza con gli altri formati è che il PDF è concepito come un formato di

descrizione delle pagine; ne risulta che ogni pagina contiene le informazioni utili

alla visualizzazione e può essere isolata dalle altre. Il PDF viene generato dal

PostScript ma non ne contiene la complessità per cui una pagina generata da

diversi programmi sarà sempre la stessa. Esso è progettato con buone

caratteristiche di sicurezza e crittografia e la sua diffusione in rete ha fatto nascere

numerosi software freeware che permettano la lettura di tale tipo di documenti.

3.1.1 Caratteristiche del formato PDF

Per valutare le potenzialità del PDF si devono prendere in considerazione diversi

aspetti legati sia alle caratteristiche di alto livello, visibili agli utenti finali, sia a

quelle di basso livello, più strettamente riguardanti gli aspetti implementativi del

formato stesso e dei file che lo utilizzano. Si possono quindi distinguere:

Page 28: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 25

� Adobe Imaging Model

È la rappresentazione grafica e testuale utilizzata, che coincide con quella

usata dal linguaggio PostScript. Ne risulta una divisione in pagine nelle

quali vengono inseriti elementi di varia natura, che possono essere

caratteri, regioni definite tramite combinazioni di linee e curve, o

immagini in formato digitale. Ogni immagine può essere mascherata in

modo da renderne visibile soltanto una parte. Inizialmente una pagina

viene descritta completamente vuota, successivamente vengono aggiunti

dei marker che delimitano sezioni di pagina; ogni marker può essere

sovrapposto ad altri limitandone la visibilità; sono simili a quelli utilizzati

nel Postscript ma non essendo il PDF un linguaggio di programmazione

viene esclusa la possibilità di utilizzare procedure, variabili e strutture di

controllo. Viene migliorata l’efficienza a scapito della flessibilità

definendo un set di operazioni ad alto livello implementate direttamente in

codice macchina e non in Postscript rendendo più veloce la

visualizzazione e la stampa delle pagine.

� Portabilità

Un PDF è un file binario in cui viene utilizzato l’intero set di caratteri a 8

bit. Sfortunatamente alcune applicazioni usano un set di caratteri

stampabili a 7 bit, come per esempio alcuni programmi di posta, e non

garantiscono la corretta interpretazione di certi caratteri come i fine linea.

Per garantire l’integrità dei file PDF li si deve trattare come i file binari;

per fare ciò si inseriscono caratteri con codice ASCII maggiore di 127

come header iniziale.

� Compressione

Per ridurre le dimensioni del file, il formato PDF supporta molti standard

di compressione:

� JPEG per immagini a colori o scala di grigio

� CCITT Gruppo 3 e 4, LZW (Lempel-Ziv-Welch) e

compressione Run Lenght per immagini monocromatiche

Page 29: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 26

� LZW e compressione lineare di testo e immagini indicizzate.

Usando la compressione JPEG si ottiene un fattore di compressione

maggiore di 10. L’effettiva compressione delle immagini monocromatiche

dipende dal filtro utilizzato e dalle proprietà dell’immagine, normalmente

si hanno rapporti che vanno da 2:1 a 8:1. Le compressioni lineari e LZW

del testo raggiungono approssimativamente un rapporto di 2:1.Tutti questi

metodi di compressione producono dati binari che possono essere

codificati in ASCII base 85 per mantenerne la portabilità.

� Font Independence

L’utilizzo dei font è un punto fondamentale nello scambio di documenti.

Generalmente chi riceve il file dovrebbe avere gli stessi font utilizzati nel

documento originale; diversamente i font verranno sostituiti con altri di

default, producendo effetti indesiderati a causa delle diverse proporzioni,

come il superamento di un margine o la sovrapposizione di caratteri.

Si possono includere i font nel documento provocando un aumento

considerevole delle dimensioni, ad esempio un documento di due pagine

che utilizza quattro font cresce da 10K a 250K. Un’altra possibilità

consiste nel convertire ogni pagina del documento in un immagine a

risoluzione fissa, negando però la possibilità di interagire con i contenuti.

Il PDF dispone di una soluzione che rende i documenti indipendenti dai

font utilizzati per crearli. Per ogni font utilizzato nel documento, viene

creato un font descriptor che contiene il nome del font, le dimensioni ed

eventuali informazioni sullo stile. Queste informazioni utili nel caso in cui

un font non sia presente sul pc con cui si legge il documento, aggiungendo

tipicamente solo 1-2K alla dimensione del documento e utilizzabile per i

font di tipo Adobe Type 1 e True Type.

Altri font grafici, quali lo ZapfDingbats, sono già integrati nell’ambiente

Abode, poichè includere informazioni aggiuntive simili alle precedenti

sarebbe comunque insufficiente.

Page 30: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 27

� Accesso casuale

Applicativi che estraggono e visualizzano una determinata pagina da un

linguaggio Postscript devono analizzare il file in esame dall’inizio, finché

non viene trovato l’elemento desiderato. In media, il tempo necessario per

visualizzare una pagina non dipende solo dalla sua complessità ma anche

dal loro numero totale all’interno del documento. È un problema per la

visualizzazione interattiva di documenti, dove è importante il tempo di

accesso alla pagina. Ogni file PDF contiene una tabella di riferimenti

incrociati, che viene utilizzata per accedere a pagine ed altri oggetti

importanti nel file; essa viene memorizzata alla fine di quest’ultimo,

permettendo alle applicazioni che generano PDF in un solo passo di

scriverla e a quelle che li leggono di trovarla in modo semplice.

� Aggiornamento Incrementale

Certe applicazioni che permettono agli utenti di modificare documenti

PDF contenenti svariate centinaia di pagine non dovrebbero far attendere

la riscrittura dell’intero file ogni qual volta vengano salvate le modifiche.

Il PDF permette sia la modifica sia l’aggiunta in un file, lasciando intatti i

dati originali. L’aggiunta incrementale contiene solo l’oggetto che è stato

modificato o aggiunto e include una versione aggiornata della tabella dei

riferimenti incrociati. Tale sistema permette di ottenere salvataggi con

tempi proporzionali ai dati modificati invece che alle dimensioni del file;

inoltre, vista la ridondanza dei dati, è possibile ripristinare l’originale.

� Estendibilità

Il formato PDF è stato progettato per essere estendibile. Sicuramente gli

sviluppatori vorranno aggiungere caratteristiche che non sono ancora state

implementate; per questo motivo è stato progettato in modo tale da poter

essere esteso conservando la compatibilità con interpreti antecedenti le

modifiche.

Page 31: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 28

3.1.2 PDF e linguaggio PostScript

Nella sezione precedente sono state accennate le differenze fra il PDF e il

linguaggio Postscript; ci si propone ora di elencarle:

• Un PDF può contenere oggetti come collegamenti ipertestuali, utili per la

visualizzazione interattiva.

• Per semplificare il processo di descrizione delle pagine il PDF non

fornisce costrutti di programmazione

• Il PDF rafforza il concetto di struttura di file e permette alle applicazioni di

accedere in modo casuale a parti del documento.

• Il PDF contiene informazioni riguardanti le caratteristiche dei font per

assicurare fedeltà di visualizzazione.

Per questi motivi, un file PDF non può essere inviato direttamente ad una

stampante per l’elaborazione. Un PDF può essere suddiviso in quattro parti

distinte:

Figura 1.1 Suddivisioni di un PDF

• Oggetti: comprende, tranne alcune eccezioni, i tipi base usati nel

linguaggio Postscript, come le strutture di dati e gli oggetti di base che

essenzialmente danno forma ad un testo.

• Struttura del file: determina come un oggetto è memorizzato in un file

PDF, il tipo di accesso consentito e le modalità di aggiornamento. Questa

struttura è indipendente dalla semantica di un oggetto; si possono

distinguere quattro sezioni: header, body, cross-reference table (tabella dei

riferimenti incrociati) e trailer.

Oggetti

Struttura del File

Struttura del Documento

Descrittore di Pagina

Page 32: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 29

• Struttura del documento: specifica le modalità di utilizzo dei tipi base

per rappresentare i componenti di un documento PDF come le pagine, le

annotazioni, i collegamenti ipertestuali, i font, ecc...

• Descrittore di pagina: pur facendo parte di un oggetto pagina, rimane

separato dagli altri e con essi ha una limitata interazione. Questo

semplifica la conversione in linguaggio Postscript, può essere considerato

come una sequenza di oggetti grafici collocati al suo interno, inoltre si

possono sovrapporre e coprire uno con l’altro.

3.1.3 Adobe AcrobatTM Reader

Il principale applicativo utilizzato per la lettura di file PDF viene fornito dalla

Adobe in versione freeware, che ne permette una rapida diffusione sia in ambito

aziendale che privato; tale caratteristica ne ha permesso la distribuzione in mercati

già occupati da interpreti di altri formati elettronici (DOC, PS, ecc…).

Fondamentalmente è un’interfaccia di visualizzazione dei file PDF che permette:

• la visualizzazione in varie modalità dei documenti: a pagine singole,

multiple, con vari fattori di zoom, con barre di navigazione, documenti

multipli e cronologia di azioni;

• la stampa dell’intero documento o di sue parti;

• la ricerca di parole;

• la selezione e la cattura di testo ed immagini;

• la visualizzazione di miniature (thumbnail) delle pagine, se presenti nel

PDF;

• la gestione di segnalibri (bookmark);

• la gestione di collegamenti ipertestuali nello stesso ed in altri documenti;

• opzioni di visualizzazione all’interno di un browser: si intende la

possibilità di integrarsi all’interno dell’ambiente di un browser

estendendone le possibilità;

Page 33: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 30

• la gestione di impostazioni di protezione: all’atto della creazione di un

documento si possono specificare diverse impostazioni riguardanti la

visualizzazione, la modifica e la stampa dei documenti; attraverso di esse

si abilitano o si inibiscono alcune delle operazioni descritte

precedentemente.

3.1.4 Adobe SDK

Adobe fornisce un insieme di librerie, documentazioni, esempi e template che

permettono la progettazione e lo sviluppo di plug-in e prodotti perfettamente

integrati con l’ambiente Acrobat. È stato sviluppato un insieme di oggetti che

consentono la creazione, la modifica e la sostituzione di parti del documento o

della sua struttura; ad alto livello questi ultimi possono essere suddivisi in layer:

• Acrobat Viewer (AV) Layer: i suoi metodi permettono ai plug-in di

manipolare i componenti dell’ambiente stesso, come per esempio i menu e

le relative voci.

• Portable Document (PD) Layer: fornisce accesso agli oggetti che

compongono il documento PDF, come per esempio le pagine e le

annotazioni; lo si può ulteriormente suddividere in:

o PDFEdit: raggruppa il contenuto delle pagine in oggetti di

cui è possibile modificare parametri e attributi; permette ai

plug-in di leggere, scrivere, modificare e creare contenuti e

pagine che possono a loro volta inglobare font ed immagini.

o PDSEdit: riguarda le caratteristiche e le informazioni sulla

struttura del documento, che viene costruita,

indipendentemente dalla sua rappresentazione fisica, tramite

puntatori.

• Acrobat Support (AS) Layer: fornisce funzioni platform-indipendent che

riguardano ad esempio la manipolazione dei file o l’allocazione di

memoria.

Page 34: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 31

• Cos Layer: garantisce l’accesso ai blocchi di basso livello utilizzati per

manipolare i dati, come i dizionari e stringhe.

Figura 1.2 Acrobat Layer

Le prime due lettere del nome di un oggetto o di un metodo indicano

l’appartenenza ad un determinato layer; è ora possibile dare una panoramica più

dettagliata di tali oggetti e delle loro relazioni. Gli oggetti principali che vengono

utilizzati sono:

• CosDoc: è la rappresentazione di un documento PDF a basso livello; non

si può creare direttamente ma deve essere ottenuto come risultato di una

funzione.

• ASFile e ASFileSys: incapsula l’accesso ai file e fornisce un’interfaccia

comune al viewer, alle applicazioni ed ai plug-in verso il file system su

diverse piattaforme. Un ASFile è una rappresentazione opaca di un file

aperto, contenente un ASPathName ed un ASFileSys, che rappresentano

rispettivamente il percorso del file specifico del sistema ed un insieme di

funzioni per accedere ai diversi file system.

• PDDoc: è una rappresentazione logica di un documento PDF aperto; esiste

una corrispondenza diretta fra PDDoc e ASFile. Un’applicazione può

creare o aprire un documento utilizzando un ASFileSys e un ASPathName

che solitamente si riferiscono a file su disco. Ogni documento contiene un

Page 35: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 32

albero di pagine, può contenere un albero di bookmark ed articoli, ed

infomazioni e strutture di sicurezza.

• AVDoc: rappresenta un documento visualizzato in una finestra, ne esiste

uno solo; a differenza di un PDDoc, è sempre associato ad una finestra.

• AVWindow: fornisce metodi per creare e gestire finestre;

• AVPageView: riguarda l’area del viewer che visualizza il contenuto di

una pagina; ogni AVDoc possiede un AVPageView e viceversa, contiene

riferimenti a oggetti di tipo PDDoc e PDPage riferiti al documento attivo.

Si utilizza per visaulizzare una determinata pagina, scegliere il fattore di

scala, evidenziare una o più parole e così via. Esistono casi particolari in

cui, nella visualizzazione in continuo delle pagine1, esso non sia riferito ad

una specifica pagina; per fissare il riferimento di solito di usa il metodo

AVPageViewSetPageNum.

Figura 1.3 Document Object Interrelationship

• CosObj: e ‘un oggetto generale in un file PDF e può essere di qualunque

tipo appartenente al Cos layer.

1 La visualizzazione può essere: a pagina singola, in continuo o a pagine affiancate.

Page 36: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 33

• PDFileSpec: viene usato per specificare un file come oggetto di

un’azione; può essere creato da un ASPathName o da un CosObj ed è di

due tipi:

o un pathname platform-independent;

o una struttura dati contenente uno o più modi per localizzare il

file su piattaforme differenti.

Figura 1.4 File I/O Object Interrelationships

3.2 Java Si è pensato di voler dare una breve nozione storica e pratica del linguaggio Java,

per completare la funzione descrittiva del progetto, inerente a questo elaborato.

3.2.1 Introduzione al linguaggio Java

Java appena è uscito è stato accolto con molto entusiasmo dalla comunità

mondiale dei progettisti di software e dei provider di servizi Internet, perché Java

permetteva agli utenti di Internet di utilizzare applicazioni sicure e indipendenti

dalla piattaforma, che si possono trovare in qualsiasi punto della rete.

Page 37: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 34

Java è quindi nato come linguaggio per la rete, per affiancare l'Hyper Text

Markup Language (HTML), che non è un linguaggio di programmazione vero e

proprio, e dare maggiore sicurezza in rete alle transazioni in rete, possibilità che

l'HTML non permette. Il linguaggio di programmazione Java è stato creato verso

la metà degli anni novanta, è il più recente tra i suoi cugini, e per questo è ancora

in fase evolutiva, tanto che ogni anno circa ne viene rilasciata una nuova versione.

Da linguaggio nato solo per la rete è divenuto un vero e proprio linguaggio di

programmazione, paragonabile, dal punto di vista delle funzionalità, al più

blasonato C++. Java e la maggior parte degli altri linguaggi possono essere

paragonati solo dal punto di vista delle funzionalità, perché sono

fondamentalmente molto diversi, infatti Java compila i sorgenti dei suoi

programmi in un codice detto Bytecode, diverso dal linguaggio della macchina su

cui è compilato, mentre linguaggi come il C++ compilano i sorgenti dei

programmi in un codice che è il codice della macchina su cui è eseguito. Quindi

per eseguire un programma Java occorre uno strumento chiamato Java Virtual

Machine(JVM), la quale interpreta il bytecode generato dal compilatore Java e lo

esegue sulla macchina su cui è installato. Grazie alla JVM, Java è indipendente

dalla piattaforma, infatti il programma compilato Java è legato alla JVM e non al

sistema operativo, sarà quindi possibile eseguire lo stesso programma Java,

compilato una sola volta su una qualche macchina con un compilatore Java

versione X, su una piattaforma Windows e su una piattaforma Linux. Per fare

questo però c'è bisogno che sia Windows che Linux abbiano installato una Java

Virtual Machine che supporti la versione X di Java. Le due JVM installate sulle

due piattaforme diverse sono praticamente un programma compilato una volta per

Windows ed una volta per Linux, come avveniva con i programmi scritti in

linguaggi come il C/C++. Una Java Virtual Machine è implementata anche nei

vari Browser (come Netscape e Explorer) per poter eseguire i programmi Java

incontrati nella rete, i cosiddetti Applet. Questo però, unito al fatto che Java

ancora si evolve, causa degli ovvi problemi di incompatibilità: capita sempre che

il più moderno Browser supporti una versione precedente di Java rispetto

all'ultima versione rilasciata dalla Sun Microsystem, inoltre bisogna tener presente

che non tutti gli utenti di Internet navigano usando l'ultima versione di Netscape o

Page 38: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 35

di Explorer. Un altro problema da affrontare è la scelta del compilatore Java da

utilizzare, infatti esistono vari ambienti integrati per editare, compilare, debuggare

ed eseguire programmi Java, come quelli della Borland, della Microsoft, della

Symantec. Tutti questi ambienti offrono dei tools di sviluppo eccellenti, come

editori grafici di finestre, debugger molto interessanti. Per la realizzazione di

questa tesi, si è scelto di lavorare sul JBuilder 5, della Borland, per due motivi: la

prima è la fresca realizzazione di questa versione, che permetteva l’uso della JDK

più recente, la seconda è che, nonostante si trattasse della versione rilasciata in uso

gratuito, permetteva un utilizzo molto completo.

3.2.2 Programmare in Java

La principale differenza tra Java e gli altri linguaggi di programmazione ad

oggetti è che mentre con questi ultimi è possibile ‘anche’ programmare ad oggetti

con Java si deve assolutamente programmare ad oggetti. Tale programmazione

avviene nello stesso modo degli altri linguaggi, differenza sostanziale è che sia i

dati, che le funzioni manipolanti questi, sono racchiusi in strutture dette classi. Le

classi sono dei prototipi di oggetti, ovvero sono delle strutture astratte (ma non

troppo) che possono essere instanziate e quindi creare un oggetto (ma anche più di

uno). La classe definisce tutte le proprietà degli oggetti appartenenti a quella

classe, detti attributi, e le funzioni che vengono usate per agire su di essi, detti

metodi. Per accedere agli attributi e ai metodi di un oggetto si utilizza la notazione

puntata: oggetto.attributo oppure oppure oggetto.metodo(). Una figura, tratta dagli

appunti ‘JDBC TM - Java Database Connectivity’ dell’Ing. Fabrizio LAMBERTI,

del Dipartimento di Automatica ed Informatica, del Politecnico di Torino, servirà

meglio a esemplificare il concetto di classe

Page 39: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 36

Figura 1.5 Concetto di Classe

Ad esempio è possibile definire una classe delle persone, come segue:

Inizio classe persone

Attributo annodinascita

Metodo calcolaetà (annoattuale)

Fine classe persone

La classe delle persone così definita ha un attributo, che è annodinascita, che sarà

sicuramente un numero intero ed un metodo che, in base all' anno attuale passato

come parametro, calcola l'età della persona. Per meglio comprendere la creazione

di una classe e di un oggetto, inseriamo qui di seguito due figure, sempre tratte

dagli appunti dell’Ing. Fabrizio LAMBERTI

Page 40: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 37

Figura 1.6 Definizione di una classe

Figura 1.7 Creazione di un oggetto

Per ogni eventuale approfondimento sull’argomento, poiché non è questo il

soggetto dell’elaborato, si rimanda ai numerosi testi e manuali presenti sul

mercato editoriale.

3.3 iText iText è una libreria gratuita che permette di generare file PDF in tempo reale,

ossia senza l’uso di file temporanei.

Figura 1.8 Logo della libreria iText

Le classi generate mediante iText si utilizzano quando si ha necessità di creare file

PDF in cui occorre inserire testo, immagini e tabelle, senza utilizzare un lettore di

tale formato, ossia senza lavorare personalmente sul file da modificare, ma

facendo agire il programma Java; tale libreria è usata in combinazione alle

tecnologie basate su Java e realizzate mediante l’uso di questo linguaggio di

programmazione; richiede la Java Development Kit (JDK) 1.2 della Sun

Page 41: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 38

Microsystems Incorporated ed è di libero utilizzo mediante le multilicenze MPL e

LGPL.

Creata nel 1999 da Bruno Lowagie, ingegnere di Gent, nel Belgio, la libreria è

stata migliorata ed ampliata nel suo complesso anche grazie all’apporto dato

successivamente dall’ing. Paulo Soares, attuale coresponsabile del progetto, ed è

in continua evoluzione, tanto che a tutt’oggi si registra l’uscita della versione

0.93; la libreria è disponibile nel sito dell’ing. Lowagie, all’indirizzo web:

http://www.lowagie.com/iText/ , in cui è possibile trovare anche un tutorial,

curato dall’ing. Soares, molto ben fatto, che con esaurienti esempi spiega

l’utilizzo della loro libreria.

3.3.1 Utilizzo di iText

Passiamo ora in breve rassegna, cosa è possibile realizzare e manipolare con

iText. Come si è detto realizza copie al volo di qualunque file PDF, mediante un

programma sviluppato in linguaggio Java, ma non solo; infatti è possibile creare

nuovi documenti, mediante appositi comandi, ed unirli ad esistenti. In definitiva

con iText possiamo:

� Creare un nuovo file PDF: generarlo dal nulla, impostando il nome da

dare al file, potendo gestire al completo il documento, come i parametri di

dimensione di pagina, i margini, inserendo immagini, intestazioni, piè

pagina, ecc.

� Aprire un file esistente e modificarne il contenuto: o meglio

modificandone l’impaginatura, aggiungendo intestazione e piè pagina,

inserendo pezzi di testo o immagini, su pagine specifiche e su tutto il

documento.

� Unire più file fra loro: scegliendo indifferentemente se unirli

sequenzialmente, ossia uno dopo l’altro, oppure se inserire un documento

in un altro, dopo un numero di pagine prestabilite dall’utente, senza limiti

né sul numero di file uniti, né sul numero di pagine da unire; ciò a livello

di programma, ma come ben sappiamo a livello pratico si deve tener conto

Page 42: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 39

del tempo di realizzazione del documento finale, per rendere

l’applicazione veloce e funzionale.

� Proteggere a vari livelli il documento: con due livelli di criptatura del

documento, una a 40bit e l’altra a 128bit, la libreria permette diversi livelli

di accesso al documento da parte dell’utente:

o AllowPrinting: permette la stampa del documento;

o AllowModifyContents: consente la modifica dei contenuti

del file;

o AllowCopy: autorizza il copia-incolla;

o AllowModifyAnnotations: concede la modifica delle note;

o AllowFillIn: consente la compilazione di eventuali parti del

documento, ad esempio un form;

o AllowScreenReaders: permette la sola visualizzazione del

file;

o AllowAssembly: autorizza l’inclusione di oggetti nel

documento, come immagini o grafici;

o AllowDegradedPrinting: concede la stampa degradata, in

modo da non renderla perfetta;

Tutti questi metodi di criptatura possono essere inseriti nel documento con o senza

password, inoltre si può decidere se dare una password proprietario ed una utente,

consentendo quindi una modifica successiva da parte del creatore del file.

Per realizzare dei file PDF mediante iText, si devono seguire passi piuttosto

semplici, che possono essere divisi in tre fasi:

� Creazione del documento vuoto, che conterrà il file: in

questa fase è possibile fissare i margini, le dimensioni della

pagina, la sua rotazione e il nome del file PDF risultante;

� Apertura documento ed elaborazione: in questo passo si ha

la vera e propria modifica del PDF, si possono importare

pagine, aggiungere del testo, sia come frasi, se si tratta di

un file vuoto, che come box di testo da posizionare sulla

pagina, aggiungere l’intestazione e il piè pagina, immagini,

ecc;

Page 43: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 40

� Chiusura del documento: normalmente questa fase è fatta in

automatico dal programma Java, ma è consigliabile sempre

chiudere il documento, una volta terminate le modifiche,

all’interno del programma, poiché si ha la sicurezza che le

risorse impegnate dal programma, verranno rilasciate e il

documento sarà utilizzabile.

Capitolo 4 Problemi e soluzioni

nella realizzazione del progetto

Si intende ora descrivere quali sono stati i problemi incontrati nella realizzazione

del progetto, derivanti dalla manipolazione al volo di file PDF, e le soluzioni

adottate nel creare il programma utilizzante la libreria iText, che sarà utilizzato nel

sito di appunti universitari Appunti.net.

4.1 Appunti.net Ci pare giusto spiegare, brevemente, l’idea che sta alla base della creazione del

sito che andrà ad utilizzare la classe creata alla fine di questo progetto.

Realizzato in collaborazione con la Trim, Appunti.net (www.appunti.net) è il

nuovo sito dedicato a studenti e docenti di tutte le facoltà italiane, proponendosi

come punto di riferimento per lo scambio e la compravendita di appunti

universitari. Qui si possono trovare appunti, dispense, temi d'esame svolti, esercizi

e altro materiale didattico fornito direttamente dai docenti oppure da studenti.

Attualmente il sito dispone già di un’interfaccia che gestisce la manipolazione dei

file grezzi, ma si vuole realizzare un processo simile con altre soluzioni

informatiche, vagliando le più pratiche per la gestione degli appunti.

Page 44: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 41

4.2 Definizione problemi nella creazione dei documenti

Come si è ampliamente descritto nei precedenti paragrafi, i problemi principali

erano due:

� Formattazione di un testo;

� Protezione del documento da eventuali usi impropri.

I problemi sono connessi fra loro, poiché si tratta di trasformare un documento

definito ‘grezzo’ (ossia proveniente dall’autore) in un documento vendibile,

esteticamente accettabile e protetto, pronto per essere venduto on-line; inoltre si

voleva avere la possibilità di rendere la procedura automatica, ossia che i

parametri fossero recepiti direttamente da un database, se non per alcuni dati,

immessi con un limitato intervento periodico di un operatore.

Documento Grezzo

Vendibile

Anteprima

Omaggio

Master

Creazione Documenti

Figura 1.9 Schema creazione documenti

Per meglio comprendere cosa intendiamo nei paragrafi successivi, indicheremo

brevemente le definizioni adottate nel testo per rifinire i documenti:

� Documento ‘grezzo’: è il file proveniente dall’autore;

� Documento ‘master’: è la copia formattata del grezzo;

� Documento ‘vendibile’: è il file che viene venduto all’utente;

� Documento ‘omaggio’: è la copia concessa in visione gratuita, spesso

donata ai docenti;

Page 45: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 42

� Documento ‘anteprima’: è una versione ridotta, concessa all’utente per

valutare l’eventuale acquisto del prodotto.

Vediamo come si presenta un file grezzo, con l’inserzione della seguente

immagine, che mostra il file usato come test nella realizzazione del progetto:

Figura 1.10 Documento grezzo

Come possiamo vedere dalla figura il documento grezzo non presenta ne

copertina, ne altra formattazione, quali header o footer; il compito del progetto

sarà, appunto, inserirli. Definiti i termini usati, possiamo procedere alla

specificazione delle varie fasi di creazione dei documenti.

4.2.1 Creazione Master

La copia master consiste in una modifica sostanziale del file grezzo, poiché questo

giunge solitamente senza titolo, intestazione, numero di pagina, ecc.

Page 46: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 43

Documento Grezzo

Autore

Master

Titolo Copertina

Creazione Master

Codice

Figura 1.11 Schema creazione Master

Al master viene quindi aggiunta una copertina, normalmente di due pagine,

dopodiché si passa all’inserimento delle pagine del documento grezzo e alla loro

modifica; in sostanza si aggiunge:

• Intestazione, recante il titolo dell’appunto, eventualmente troncato se è

troppo lungo, e l’indirizzo web del sito di AppuntiNet;

• Piè pagina, indicante l’autore, con l’iniziale del nome puntata, il codice

dell’appunto e il numero di pagina.

Questa copia master viene lasciata libera da protezioni e crittografia, per poter

consentire le successive modifiche e creazioni dei files destinati agli utenti.

4.2.2 Creazione Copertina

Nella creazione del documento ‘master’ viene inserita una copertina; questa viene

creata in parte in tempo reale, in parte unendo al documento grezzo un file PDF

esistente, in cui abbiamo due pagine:

la prima, in cui troviamo il logo di AppuntiNet e alcune scritte standard;

l’altra contiene tutte le informazioni riguardanti il copyright.

Ciò viene fatto per permettere una maggiore flessibilità al sistema di creazione del

master, in quanto se fossero necessarie delle modifiche al logo o alle norme sul

copyright, è sufficiente sostituire, o modificare, la pagina in oggetto e far passare

la nuova copertina nella creazione dei nuovi master, senza ulteriori accorgimenti.

Page 47: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 44

4.2.3 Creazione Vendibile

E’ la creazione del file, diremo, finale, ossia quello che l’utente riceve al termine

della procedura di acquisto; esso è una riproduzione del master, a cui viene

aggiunto, nella parte dell’intestazione, sotto l’indirizzo web, il codice del cliente,

per rendere personale la copia e scoraggiare eventuali usi impropri; inoltre si

dovrà proteggere la manipolazione mediante crittografia, lasciando all’utente la

sola possibilità di stampare il documento.

Documento Master

Documento Vendibile

Codice cliente

Protezione documento

Figura 1.12 Schema creazione Vendibile

4.2.4 Creazione Omaggio

La copia Omaggio viene concessa in visione gratuita ai docenti, spesso a scopo

divulgativo e pubblicitario del documento originale; è in pratica una copia master

a cui viene aggiunta una scritta verticale, posta a lato, su ogni pagina del

documento; tipicamente viene aggiunta la scritta.’Campione gratuito, vietata la

vendita’ ma la frase può cambiare, è quindi necessario poter impostare anche una

frase diversa da questa.

Anche questo documento deve esser protetto da manipolazioni, tipicamente si

protegge mediante crittografia e si concede la sola possibilità all’utente di poter

stampare il contenuto.

Page 48: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 45

Documento Master

Documento Omaggio

Scritta opportuna

Protezione documento

Figura 1.13 Schema creazione Omaggio

4.2.5 Creazione Anteprima

La copia Anteprima rappresenta un sottoinsieme delle pagine del master, concesse

all’utente per visionare e valutare l’acquisto del testo elettronico, che ha preso in

esame. Normalmente si effettuerà un’estrazione casuale di pagine dal documento,

entro comunque un massimo di pagine; e su tutte le pagine estratte viene aggiunta

una scritta, posta di traverso, recante la dicitura:’Appunti.Net’ in dimensione

sufficientemente grande da riempire la pagina. Per rendere maneggevole questa

creazione, si permette di definire sia la percentuale che il numero massimo di

pagine estraibili, oltre che la possibilità di cambiare la dicitura. E’ logico che, a

maggior ragione, anche questo documento dovrà esser protetto da eventuali

manipolazioni e all’utente sarà permessa la sola visione del testo.

Documento Master

Documento Anteprima

Scritta opportuna

Protezione documento

Max Pagine Percentuale Pagine

Figura 1.14 Schema creazione Anteprima

Page 49: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 46

4.3 Soluzioni adottate: classe AppuntiNet Dopo una breve trattazione dei documenti che bisognava ottenere, passiamo alla

specifica descrizione del programma Java e dei metodi che hanno permesso di

realizzare i documenti presi in esame precedentemente.

La classe principale, che contiene tutti i metodi successivamente descritti, è stata

chiamata AppuntiNet; questa contiene una breve descrizione del file, indica il

nome dell’autore della classe e le note di copyright inerenti all’uso della libreria

iText, dopodiché importa le librerie necessarie al funzionamento dei metodi in

essa contenuti; nel suo complesso, è costituita da 415 righe di codice, per meglio

comprendere il suo funzionamento, riporteremo per ogni metodo, oltre ad

un’immagine esemplificativa, due righe di codice: una recante i nomi dei

parametri e l’altra simulante una reale situazione che è stata usata in fase di test

del programma, un file chiamato AP00218, recante titolo:‘Esercizi di Chimica

Generale’ il cui autore è il prof Paolo Volpe.

4.3.1 Copertina e Copyright

Una parte del passaggio da documento grezzo a documento master consiste

nell’inserimento di una copertina con certe informazioni posizionate in modo

differente nella pagina e dell’aggiunta di una sezione di copyright. Le esigenze di

mercato richiedono che essa possa cambiare a seconda di parametri variabili nel

tempo oppure adattarsi a documenti particolari; per esempio una variazione del

logo dell’azienda in questione oppure un riposizionamento dei campi all’interno

della pagina; tali problemi hanno fatto sorgere l’opportunità di avere a parte

questo documento, poiché la sola inserzione delle note di copyright avrebbe creato

problemi su eventuali modifiche sulla prima pagina, contenente il logo del sito,

costituendo un documento tipicamente di due pagine, in modo da poterlo

modificare off-line e successivamente inserirlo nei documenti. La figura di seguito

inserita servirà a comprendere meglio come è costituita la copertina.

Page 50: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 47

Figura 1.15 Copertina da inserire

4.3.2 Metodo Crea Master

Questo metodo è quello che crea, appunto, la copia master, ossia formatta il file grezzo ricevuto dall’autore; CreaMaster(String NomeFileGrezzo, String NomeFileCopertina, String NomeFileMaster, String CodiceAppunto, String TitoloAppunto, String[] Autori)

CreaMaster("AP00218.pdf","Copertina.pdf","AP00218master.pdf","AP00218","Te

sto di Esercizi di Chimica Generale",A);

in cui A è l’arrey contenente il nome e il cognome degli autori;

I parametri in ingresso, dunque, sono:

- NomeFileGrezzo, è il nome del PDF da formattare;

- NomeFileCopertina, è il nome del file che contiene le

pagine di copertina;

- NomeFileMaster, è il nome da dare al PDF master;

- CodiceAppunto, è il codice dell’appunto;

- TitoloAppunto, è il titolo dell’appunto;

Page 51: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 48

- Autori, contiene il nome e il cognome dell’autore;

Una volta assunti questi parametri, il metodo passa ad una prima verifica per

vedere se sono stati immessi tutti; se questa verifica va a buon fine, prosegue,

altrimenti ferma il processo e visualizza un messaggio di errore.

Successivamente fa una verifica sul titolo dell’appunto, per poi poterlo immettere

nell’intestazione delle pagine; se è inferiore ad un parametro fissato, tipicamente

34 caratteri, viene lasciato intero, diversamente viene troncato; nel caso preso ad

esempio il titolo è stato troncato poiché era lungo in totale 37 caratteri.

Passa quindi in esame il nome dell’autore, creandone una copia, la cui iniziale è

puntata, da includere nel piè pagina; a questo punto inizia la creazione vera e

propria del documento master, infatti crea un documento con il NomeFileMaster,

lo apre, vi inserisce la copertina, contenute del NomeFileCopertina, ponendo il

titolo dell’appunto per intero e l’autore nella prima pagina di copertina.

Figura 1.16 Copertina documento Master

Di seguito inizializza un contentbyte, che servirà per posizionare i box di testo che creano l’intestazione e il piè pagina, oltre ad istanziare due Font diversi da

Page 52: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 49

utilizzare per header e footer. Apre il documento grezzo, legge il numero totale di pagine in esso contenute e inizia ad inserire le pagine con un ciclo di while che tiene conto se ha raggiunto la totalità del documento o no. Ad ogni inserzione di pagina, vengono aggiunti 4 box di testo, inerenti al titolo tronco dell’appunto e alla scritta ‘www.appunti.net’ per quanto riguarda l’header, mentre aggiunge la scritta ‘©2002’ , l’autore dell’appunto, con l’iniziale del nome puntata, e il numero di pagina corrente per il piè pagina.

Figura 1.17 Intestazione e piè pagina documento Master

Terminati entrambi gli inserimenti, quello della copertina e il documento grezzo,

segue una scritta che conferma l’avvenuto inserimento; ultimato lo svolgimento

viene chiuso il documento e si ha la copia master.

4.3.3 Metodo CreaVendibile

Questo metodo crea la copia finale, che l’utente acquista; vediamo come:

CreaVendibile(String NomeFileMaster, String NomeFileVendibile, String CodiceCliente)

CreaVendibile("AP00218master.pdf","218vendita.pdf","cecconetto");

Come si può vedere, assume tre parametri

- NomeFileMaster;

- NomeFileVendibile;

- CodiceCliente.

Page 53: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 50

Tutti questi parametri vengono analizzati per verificare che siano stati immessi

tutti e tre, passato questo test procede con la creazione del file. Crea un

documento con NomeFileVendibile, ne prepara la criptatura a 40bits, allocando

solo la possibilità di stampa del documento, e lo apre; legge il numero di pagine

che compongono il NomeFileMaster e inizializza un contentbyte per inserire il

CodiceCliente. Assunti questi parametri inizia un ciclo di while per inserire le

pagine del master, dove in ogni pagina viene inserito un box di testo

dell’intestazione, sotto la scritta ‘www.appunti.net’ contenente la scritta ‘Copia

personale di:’ e il CodiceCliente;

Figura 1.18 Documento Vendibile

terminato il ciclo viene visualizzata una scritta che conferma la creazione del

documento e viene chiuso, terminando il processo.

4.3.4 Metodo CreaAnteprima

Questo metodo fornisce la copia in visione al cliente, in modo che possa valutarne

l’acquisto. Vediamo meglio che parametri riceve:

CreaAnteprima (String NomeFileMaster, String NomeFileAnteprima, int pag, int maxpag, String Scritta)

CreaAnteprima("AP00218master.pdf","218anteprima.pdf",50,15,"Copia in

anteprima by Appunti.net")

Page 54: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 51

Tale metodo, come vediamo, assume in ingresso:

- NomeFileMaster;

- NomeFileAnteprima;

- Scritta;

- Percentuale di pagine (pag);

- Massimo numero di pagine (maxpag).

Il metodo verifica che siano stati immessi e al superamento di questa analisi,

inizia a creare il file. Anzitutto apre il NomeFileMaster e ne legge il numero di

pagine in esso contenute, dopo crea un nuovo documento NomeFileAnteprima e

lo cripta a 40bits, disponendo la sola possibilità di vedere il testo sullo schermo;

apre in documento, instanziando un contentbyte per inserire la scritta, ed inizia a

verificare quante pagine deve inserire; infatti viene calcolata la percentuale di

pagine del NomeFileMaster e confrontato con il massimo di pagine che viene

permesso inserire, se è inferiore, le inserisce tutte, altrimenti assume il massimo

come numero di pagine da inserire. A questo punto viene creato un ciclo che

istanzia un arrey di interi, la cui lunghezza è uguale al numero di pagine da

inserire; questo conterrà dei numeri casuali, generati da un random, entro il totale

delle pagine del documento master; il ciclo, per ogni numero generato, controlla:

-se questo è già stato messo, lo scarta e ne genera un altro;

-altrimenti lo salva e prosegue il ciclo.

Il ciclo termina quando l’arrey è completo; in tal modo si evitano pagine doppie

nella copia di anteprima e numeri che il programma non potrebbe trovare come

pagine. Su ogni pagina viene posizionato un box di testo, posto a 55° di traverso

sulla pagina, contenente la scritta immessa nei parametri d’inizializzazione, il cui

testo viene svuotato e il contorno colorato di rosso.

Page 55: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 52

Figura 1.19 Documento Anteprima

Terminato questo ciclo, viene visualizzata una scritta di conferma della creazione

e viene chiuso il documento.

4.3.5 Metodo CreaOmaggio

Questo metodo crea la copia da distribuire gratuitamente agli utenti prescelti,

vediamo come:

CreaOmaggio(String NomeFileMaster,String NomeFileOmaggio,String Scritta);

CreaOmaggio("AP00218master.pdf","218omaggio.pdf","Campione gratuito,

vietata la vendita");

Assume in ingresso tre parametri:

- NomeFileMaster;

Page 56: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 53

- NoleFileOmaggio;

- Scritta opportuna.

Come per i precedenti metodi, viene fatta la verifica su parametri immessi,

considerando che tutti e tre sono assunti come tipo String, passato questo test

inizia la creazione del file; viene aperto il NomeFileMaster, letto il numero di

pagine del documento e creato un nuovo documento con NomeFileOmaggio; tale

file sarà criptato a 40bits, allocando la sola possibilità di stampa del documento,

viene inizializzato un contentbyte per inserire la scritta e inizia un ciclo di while

per l’inserimento delle pagine. Su ogni pagina del documento viene inserita nel

margine sinistro la scritta immessa nei parametri iniziali, opportunamente colorata

e svuotata in modo da visualizzare solo il contorno del testo.

Figura 1.20 Documento Omaggio

Al termine del ciclo, viene visualizzata una scritta di conferma e chiuso il

documento.

Page 57: Tesi di Diploma - polito.itelite.polito.it/files/thesis/fulltext/cecconetto.pdf · Sommario La tesi si inserisce nell'ambito delle attività di sviluppo e di sperimentazione legate

Strumenti automatici per editoria elettronica: manipolazione di file in formato PDF™ mediante libreria iTex

Pagina 54

Capitolo 5 Conclusioni

Come si è potuto vedere nel capitolo 3, la continua evoluzione del commercio

elettronico permette di rendere sempre più efficace la vendita di e-book e la

protezione dei diritti di autore; sempre più aziende si affacciano a questo mercato

nuovo e ne apprezzano la facile gestione e la maggiore remunerazione economica;

basti pensare a quanti libri potrebbero essere gestiti e venduti mediante l’utilizzo

di sistemi informatici, opportunamente creati e sviluppati, con l’uso di pochi

operatori e, quindi, con costi contenuti, unito al fatto che il numero di volumi

disponibile e immagazzinabili in una biblioteca elettronica sarebbe quasi

inimmaginabile nella realtà, a meno di non pensare a enormi edifici, con tutte le

difficoltà e i costi che comporterebbero la conservazione e gestione di una simile

biblioteca. E’ facile vedere come tale ambito sia agli esordi, come lo dimostra la

recente nascita della IeBA e del protocollo EBX, ma che prenda campo molto

velocemente; basti pensare agli ultimi sviluppi delle tecnologie, come quelle della

Xerox con il Gyricon, per passare ai più ‘semplici’ lettori per e-Book, oppure ai

prototipi di ‘quotidiani elettronici’, rappresentati da uno schermo elettronico,

completamente pieghevole, e da un cavo usb, da cui potremo scaricare, mediante

la rete, tutti i quotidiani che vorremo, pagando un canone di abbonamento; un

utile aiuto anche per l’ecologia, se pensiamo a quanta carta in meno verrà

utilizzata, un semplice esempio di come la tecnologia, se ben applicata, può

aiutarci per un futuro migliore. È quindi evidente di come questa evoluzione

dell’editoria elettronica necessiterà di appositi strumenti su cui basare la propria

attività, permettendo, anche nel campo della programmazione, una nuova spinta

all’evoluzione informatica.