Others

Puoi aggiungere logica condizionale e regole ai campi del modulo PDF

Stai progettando un modulo PDF per l'assunzione dei clienti. Se il cliente seleziona "Individuale" come tipo di account, il modulo dovrebbe mostrare i campi per il nome e il numero di previdenza sociale. Se selezionano "Business," il modulo dovrebbe invece mostrare i campi per il nome dell'azienda e il numero di identificazione del datore di lavoro. In un modulo cartaceo, stamperesti entrambe le sezioni e scriverai "Se applicabile" accanto a ciascuno. In un PDF digitale, la logica condizionale può nascondere completamente la sezione irrilevante, mostrando all'utente solo i campi che effettivamente deve compilare.

La logica condizionale nei moduli PDF è reale e funzionale, ma presenta importanti avvertenze. A differenza dei moduli Web, in cui JavaScript e CSS forniscono un controllo flessibile sulla visibilità e sul layout, la logica condizionale del PDF è vincolata dall'implementazione limitata di JavaScript del formato PDF e dal modo incoerente con cui i diversi visualizzatori PDF eseguono gli script. Capire cosa è possibile e cosa no ti impedisce di progettare un modulo che funzioni nel tuo ambiente di test ma che non sia efficace per la metà dei destinatari.

Can You Add Conditional Logic and Rules to PDF Form Fields

Cosa può effettivamente fare la logica condizionale in un modulo PDF

La logica condizionale PDF viene eseguita su Acrobat JavaScript, una versione semplificata di JavaScript che fa parte delle specifiche PDF dall'inizio degli anni 2000. Può mostrare o nascondere i campi del modulo in base all'input dell'utente. Può abilitare o disabilitare i campi, cambiarne il colore o il bordo, contrassegnarli come obbligatori o facoltativi e compilarne i valori dalle tabelle di ricerca. Può convalidare l'input durante la digitazione dell'utente, visualizzare messaggi di avviso e attivare calcoli quando vengono soddisfatte determinate condizioni.

Ciò che non può fare è ristrutturare il layout della pagina. Nascondere un campo lo rimuove dalla vista, ma lo spazio che occupa rimane. I campi sottostanti non scorrono verso l'alto per colmare il vuoto. La pagina non viene ridisposta. Questa è la differenza più grande tra un Forms PDF e un modulo Web, ed è la fonte della maggior delusione quando qualcuno tenta di replicare l'esperienza di un modulo Web all'interno di un PDF. Se la tua logica condizionale deve cambiare radicalmente il layout della pagina, un PDF è lo strumento sbagliato. Se è necessario mostrare o nascondere alcuni campi all'interno di un layout fisso, la logica condizionale del PDF lo gestisce bene.

WukongPDF

Prova Modifica PDF

Nessuna installazione necessaria. Funziona direttamente nel tuo browser.

Inizia ora →

Come impostare una regola Mostra-Nascondi basata sulla selezione di un menu a discesa o di una casella di controllo

Il modello condizionale più comune è un menu a discesa o un insieme di pulsanti di opzione che controlla quali campi successivi sono visibili. Nell'editor di moduli di WukongPDF, inizia creando il campo di controllo, il gruppo a discesa o di pulsanti di opzione il cui valore determina cosa succede dopo. Assegnagli un nome chiaro come "accountType". Quindi crea tutti i campi che potrebbero essere mostrati o nascosti. Ogni possibile campo deve essere presente nel modulo fin dall'inizio. La logica condizionale controlla solo la visibilità. Non crea né distrugge campi.

Una volta creati i campi, apri le proprietà del campo controllante e individua la scheda dell'evento Convalida o Su sfocatura. Qui è dove scrivi il JavaScript che risponde alla selezione dell'utente. Un semplice script show-hide è simile al seguente: var choice = event.target.value; this.getField("ssnField").display = (scelta === "Individuale") ? display.visible: display.hidden; this.getField("einField").display = (scelta === "Business") ? display.visible: display.hidden; Quando l'utente modifica il menu a discesa, lo script viene eseguito, controlla il valore selezionato e imposta la proprietà di visualizzazione di ciascun campo su visibile o nascosta.

Un dettaglio importante: imposta lo stato iniziale di tutti i campi condizionali in modo che corrisponda al valore predefinito del campo controllante. Se il menu a discesa per impostazione predefinita è "Individuale" il campo SSN dovrebbe iniziare visibile e il campo EIN dovrebbe iniziare nascosto. Se i campi iniziano nello stato sbagliato, l'utente li vede entrambi o nessuno finché non interagisce con il menu a discesa per la prima volta, che sembra rotto. Lo stato iniziale e la logica dello script devono concordare.

Regole di convalida che controllano l'input prima che l'utente proceda

La logica condizionale si estende oltre la visibilità fino alla convalida dell'input. Un campo data può verificare che la data inserita rientri in un intervallo accettabile. Un campo email può verificare che l'input contenga un segno @ e un dominio. Un campo del numero di telefono può richiedere esattamente dieci cifre. Gli script di convalida vengono eseguiti nell'evento Validate del campo, che si attiva quando l'utente tenta di lasciare il campo. Se lo script chiama event.rc = false, il focus rimane sul campo e l'utente non può procedere finché l'input non viene corretto.

Una pratica convalida del telefono è simile alla seguente: var phone = event.value.replace(/\s|-|\(|\)/g, ''); if (phone !== "" && !/^\d{10}$/.test(phone)) { app.alert("Inserisci un numero di telefono di 10 cifre."); evento.rc = falso; } Questo script elimina spazi, trattini e parentesi, quindi controlla se i caratteri rimanenti sono esattamente dieci cifre. Se il campo è vuoto, la convalida viene superata poiché non tutti i campi relativi al telefono sono obbligatori. Se il campo ha un contenuto ma non è composto da dieci cifre, lo script mostra un messaggio di avviso e impedisce all'utente di lasciare il campo.

Le regole di convalida dovrebbero essere utilizzate con parsimonia e con messaggi di errore chiari. Un modulo che blocca l'utente in ogni campo con avvisi criptici crea frustrazione. Un modulo che convalida solo i campi in cui un input errato causerebbe problemi reali e spiega cosa l'utente deve correggere, crea fiducia. Il testo dell'avviso dovrebbe indicare esattamente cosa c'è che non va e come risolverlo. "Inserimento non valido" è inutile. "Il numero di telefono deve contenere 10 cifre senza spazi o trattini" dice all'utente cosa fare.

Il problema di compatibilità del visualizzatore e come risolverlo

PDF JavaScript è supportato in Adobe Acrobat Reader, Acrobat Pro e nella maggior parte delle applicazioni PDF desktop. Non è supportato nella maggior parte dei visualizzatori PDF basati su browser, incluso il visualizzatore integrato di Chrome, PDF.js di Firefox e l'anteprima di Safari. È parzialmente supportato in alcune app PDF mobili e completamente assente in altre. Se il tuo modulo si basa su logica condizionale e script di convalida e il destinatario lo apre in un visualizzatore che non esegue JavaScript, vedrà tutti i campi, compresi quelli destinati a essere nascosti, e nessuna delle regole di convalida verrà attivata.

Non esiste una soluzione tecnica perfetta a questo. L'approccio migliore è una combinazione di etichettatura chiara e istruzioni ben visibili nella parte superiore del modulo. Etichetta le sezioni condizionali con la relativa condizione di attivazione: "Se hai selezionato Attività sopra, completa questa sezione." In questo modo, anche se lo scripting fallisce, l'utente può seguire il modulo manualmente. L'esperienza PDF interattivo degrada dolcemente in una forma statica utilizzabile anziché diventare incomprensibile.

Test dei moduli condizionali su più visualizzatori

Prima di distribuire un modulo PDF condizionale, testalo in almeno quattro ambienti: Adobe Acrobat Reader su desktop, il visualizzatore PDF integrato di Chrome, il visualizzatore PDF di Safari o Anteprima su Mac e un visualizzatore PDF mobile su iPhone e Android. In ciascun ambiente, elaborare il modulo in modo sistematico. Modifica le selezioni del menu a discesa e verifica che i campi corretti vengano visualizzati e scompaiano. Inserisci dati non validi e conferma che vengano visualizzati i messaggi di convalida e impedisci l'invio. Salvare il modulo e riaprirlo per verificare che lo stato salvato sia coerente.

Per i moduli destinati a un pubblico noto, ad esempio moduli interni all'azienda o moduli inviati tramite un portale specifico, testa solo i visualizzatori effettivamente utilizzati dal tuo pubblico. Se tutti nella tua organizzazione utilizzano Adobe Acrobat, la compatibilità del browser è irrilevante. Se il tuo modulo verrà pubblicato su un sito Web pubblico e aperto da chiunque con qualsiasi dispositivo, presupponi che una percentuale significativa di utenti vedrà il modulo senza JavaScript. Progettare il modulo in modo che funzioni in modo accettabile in quello stato degradato, con tutti i campi visibili e tutte le istruzioni chiare, e lasciare che la logica condizionale sia un miglioramento piuttosto che un requisito.

Quando la logica condizionale appartiene invece a un modulo Web

Se il tuo modulo necessita di procedure guidate in più passaggi, creazione di campi dinamici, convalida del server in tempo reale o ridisposizione della pagina quando i campi appaiono e scompaiono, un modulo Web è lo strumento giusto, non un PDF. I moduli PDF sono documenti statici con miglioramenti interattivi. I moduli Web sono applicazioni interattive con un output simile a un documento. La distinzione è importante perché creare una forma condizionale complessa in PDF, solo per scoprire che metà del pubblico non può utilizzarla come previsto, è un errore frustrante e dispendioso in termini di tempo.

Un approccio ibrido pratico consiste nell'utilizzare un modulo Web per la raccolta dei dati e la logica condizionale e generare un PDF dai dati inviati per le firme, l'archiviazione e la condivisione. Editor PDF di WukongPDF funziona bene in questo flusso di lavoro: raccoglie i dati tramite un modulo Web, compila un modello PDF con le risposte e consegna il PDF rifinito all'utente per i suoi archivi. Il modulo web gestisce la logica. Il PDF gestisce la presentazione. Ogni strumento fa ciò che sa fare meglio.

WukongPDF

Prova Modifica PDF

Nessuna installazione necessaria. Funziona direttamente nel tuo browser.

Inizia ora →