Formattazione RTF nei campi testo

Diversi formati grafici all’interno dello stesso campo testo

Uno dei limiti maggiori della creazione dinamica di documenti utilizzando procedure automatiche di impaginazione risiede nel fatto che le informazioni e i dati che provengono da database e che  devono popolare campi appositamente predisposti possono avere solamente un unico aspetto (formattazione) per tutti i contenuti del campo.

Quando ci si trova a dover impaginare contenuti che devono avere diverse formattazioni all’interno dello stesso paragrafo, la formattazione automatica trova i suoi limiti.

Acrobat Javascript ancora una volta consente di trovare una soluzione ai limiti (apparenti) dell’impaginazione automatica.

Tra le proprietà dei campi testo di Acrobat ne esiste una che consente di attribuire formattazioni “ricche” al contenuto del campo, spuntando le opzioni “Consenti RTF” e mostrando la barra delle proprietà di formattazione (da Acrobat ctrl + E), è possibile utilizzare il campo testo come un word processor e formattare selettivamente porzioni di testo con colori, sottolineature, grassetto, corsivo, allineamento, ecc.

Il limite di tutto ciò è che questa funzionalità è solamente gestibile con l’interfaccia grafica e non è possibile esportare il contenuto formattato in modo da poterlo riutilizzare, da memorizzarlo in un database, ecc.
Con Javascript è però costruire programmaticamente contenuti formattando in modo diverso (con stili predefiniti) contenuti dinamici parziali, provenienti da database o digitati a mano che poi verranno inseriti nel campo in cui è stata impostata l’opzione “Consenti RTF”.
Javascript consente di utilizzare l’oggetto span per creare selezioni di testo con proprietà di formattazione definite.

Qui di seguito un esempio funzionante in formato pdf in cui modificando i testi nei due campi editabili (di colore giallo) si ottiene una formattazione parzialmente associata al testo del campo RTF.

Scarica l’esempio testo formattato RTF.pdf

Il codice richiamato dall’evento Formato dei campi di input è il seguente:

function rtf()
{
testo1=this.getField("testo1").value;
testo2=this.getField("testo2").value;
aWords = [ testo1, testo2 ];
var spans = new Array();
spans[0] = { text: aWords[0]+"/", fontStyle: "normal",alignment: "left",fontWeight: 200, textColor: ["RGB", 0, 0, 0 ], underline: false };
spans[1] = { text: aWords[1], fontStyle: "italic",fontWeight: 700, textColor: ["RGB", 0.3, 0.3, 0.3 ],underline: false };
var f = this.getField("RTF");
f.richValue = spans;
}

Manuale Pdf Javascript – Acrobat

Corso di Acrobat Javascript

[info_box]Il corso è partito!

Ora è presente una nuova sezione del sito dove troverete tutte le lezioni e i contenuti: Corso e manuale di Acrobat Javascript[/info_box]

Vista la carenza di contenuti su Acrobat Javascript in lingua italiana, stiamo lavorando alla realizzazione di un corso per l’utilizzo di Acrobat e in particolare delle funzionalità più avanzate che permettono di realizzare documenti pdf interattivi, dinamici, che gestiscono dati esterni, multimediali, ecc.

Il corso sarà basato su temi e contenuti più pratici che teorici, su questi ultimi esiste già una consistente bibliografia purtroppo quasi esclusivamente in inglese. Alla base del corso vi saranno lezioni on-line che andranno a toccare argomenti via via più approfonditi e articolati.

La prima lezione è prevista per l’inizio del mese di settembre 2010 e verterà sulle basi dello scripting di Acrobat, sulla configurazione degli adeguati strumenti di sviluppo e sulla realizzazione di un primo semplice documento “navigabile” attraverso una interfaccia di navigazione personalizzata.