Usare gli script di altri documenti

Taglia e incolla di codice Javascript.

Nel web, molte delle meravigliose funzionalità e caratteristiche incredibili (ma anche quelle ordinarie) che potete trovare sono implementate con script personalizzati e realizzati in Javascript. Il modo più usuale e semplice per acquisire tali caratteristiche e funzionalità è di copiarle da altri file HTML già realizzati o da tutorials appositamente scritti e inserirle nei vostri.

[fancy_box]

Allo stesso modo, se trovate un Pdf che ha qualche funzionalità che vi piace, o se qualcuno pubblica uno script in qualche forum o qualche articolo in siti web che, come PowerDocs, parlano di Acrobat Javascript, copiate semplicemente lo script e incollatelo nel vostro PDF e il gioco è fatto. Nessun problema, nessun fastidio, solo successo immediato…

…sfortunatamente, non funziona proprio così!

[/fancy_box]

La maggior parte delle richieste di aiuto nei forum legati ad Acrobat Javascript sono relative a insuccessi nel far funzionare gli script copiati da altre fonti e inseriti in contesti apparentemente uguali ma…diversi.

A meno che non siate adeguatamente formati e oculati, tentare di copiare il codice di qualcun’altro, soprattutto se quest’ultimo non vuole che questo avvenga, può rivelarsi una sfida ardua, lunga, dolorosa e talvolta inconcludente per gli scopi per cui si è intrapresa.

Ma non tutte le speranze sono perdute. Copiare gli scripts può essere comunque una strada percorribile per inserire, nei vostri documenti, funzionalità e caratteristiche che vanno ben oltre le vostre attuali capacità e conoscenze di programmazione.

Per far funzionare uno script avete bisogno di avere solo pochi consigli e indicazioni. Seguitele attentamente e pian piano otterrete le chiavi e i metodi per raggiungere gli scopi, il successo, e la fortuna che può derivare dall’implementazione di script efficaci ed evoluti.

Le informazioni di base per copiare uno Script PDF.

Il linguaggio di script di Acrobat è Javascript. Questo perchè il Javascript è un linguaggio di programmazione specificamente disegnato per essere utilizzato come linguaggio di automazione di Applicazioni (cioè in grado di istruire una determinata applicazione su quali azioni eseguire). Per questo motivo, ogni applicazione utilizza una sua speciale versione di Javascript. Per questo un Javascript per pagine web non ha nulla a che spartire con uno script per Acrobat e i PDF.

[dropcap1]1[/dropcap1]Non è possibile utilizzare nei PDF script che non siano stati espressamente creati e scritti per tale contesto.

Non solo. Acrobat gestisce contemporaneamente due diverse tecnologie:

  • Acroforms
  • moduli XFA (liveCycle)

Queste due tecnologie sono talmente differenti tra di loro che sembrano essere state sviluppate in epoche diverse, in nazioni diverse, da aziende diverse e per applicazioni diverse. Ed infatti è stato così. Usare script sviluppati per una tecnologia nel contesto dell’altra è come chiedere al proprio cane di miagolare e al vostro gatto di abbiare… ci potreste riuscire ma forse non otterreste proprio il risultato desiderato.

[dropcap1]2[/dropcap1]Assicuratevi sempre di copiare script per la giusta tecnologia

Un’altra informazione importante che dovete capire è che normalmente tutti gli script funzionano solamente in uno specifico file PDF dove sono presenti determinati elementi, contesti e impostazioni. Senza queste condizioni molto probabilmente lo script non funzionerà, in tutto o in parte. Molto probabilmente per riuscire a farlo funzionare dovrete sostituire almeno alcuno dei riferimenti a campi, allegati, funzioni, risorse, ecc. Per poter individuare quali sono gli elementi da cui dipende lo script e modificarli bisogna saper leggere quali sono, trovarne il nome originale e sostituirlo con il nome del nostro documento. Quello che sto per rivelarvi è ovviamente ciò che nessun “copiatore si script professionista” vorrebbe sentirsi dire e cioè:

[dropcap1]3[/dropcap1]Dovete conoscere i contenuti della Acrobat JavaScript Reference e quali sono gli oggetti che posso usare in Acrobat

Non è necessario capire o conoscere l’intera reference, quello che vi serve è riuscire a cercare il nome dell’oggetto o proprietà che vi sembra possa avere a che fare con la funzionalità o elemento che dovete modificare e quindi leggere almeno la corrispondente parte introduttiva che vi consenta di avere sufficienti informazioni per decidere se e cosa è necessario modificare.

Tutti i linguaggi di programmazione (non solamente javascript) sono notoriamente molto puntigliosi ed esigenti per quanto riguarda dettagli apparentemente insignificanti come virgole dimenticate, punteggiatura errata, lettere maiuscole omesse o non richieste, errori nella corrispondenza tra parentesi aperte e chiuse, mancanza di quegli “inutili” punti e virgola alla fine di una riga di istruzione. Gli interpreti di comandi non sono in grado di interpretare le intenzioni del programmatore, si limitano ad eseguire quello che scrivete.

[dropcap1]4[/dropcap1]Fate attenzione ai particolari, non modificate parti del codice che non conoscete e non fate copie parziali degli script.

Se vi accingete a modificare gli script, è una buona idea entrare nel giusto stato mentale. I programmatori sono ossessionati da simboli criptici e da strutture non intuitive, infatti linguaggi di programmazione sono molto adatti ad essere resi indecifrabili. Questo è una modalità per assicurarsi il lavoro e pertanto è piuttosto improbabile che le cose cambino a breve.

[dropcap1]5[/dropcap1]Abituatevi a pensare come farebbe un programmatore (cercate di trovare una spiegazione semplice a quello che sembra incomprensibile)

Infine, è piuttosto raro che uno script sia una entità a sè separata dal mondo esterno. Un PDF è un ambiente piuttosto variegato di posti dove possono essere nascosti ed utilizzati gli script. E’ piuttosto normale che ci siano script che dipendano da altri script ed è vero ancor di più nei moduli pdf. Infatti gli script in questo caso possono essere collegati/associati a diverse posizioni: esistono script a livello di campo, a livello di documento, a livello di cartella ecc.

[dropcap1]6[/dropcap1]Dovete identificare tutte le relazioni tra script in modo da copiare tutti gli elementi di codice necessari a farli funzionare

Ecco un link dove poter approfondire questo aspetto:

http://www.acrobatusers.com/tutorials/2006/where_js_goes

Probabilmente la situazione più comune è uno script principale che utilizza funzioni, variabili e informazioni che vengono definite nella così detta area globale. In Acroform quest’area è chiamata “Document Level Script” cioè script a livello di documento ma gli script “figli” possono annidiarsi un po’ ovunque in tutti gli oggetti del form e per tutti gli eventi ad esso collegati (Click, Calcolo, Formattazione, Focus, ecc.).

Ora siete un po’ meglio preparati ad affrontare le complessità della copia di script. Buona fortuna e non fativi scoraggiare dalle difficoltà che sono commisurate alla soddisfazione che vi può dare l’utilizzo con successo di script complessi e strutturati.

Contenuto liberamente tradotto e rielaborato da un articolo di Thom Parker Acrobat Javascript guru su come utilizzare le sue funzioni e script divulgate attraverso il suo sito web pdfscripting.com, sicuramente una risorsa da tenere in considerazione anche se purtroppo a pagamento per i contenuti più succulenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *