Domanda

Ho creato un'applicazione Web che può essere vista come un modulo di domanda complicato. Ci sono un sacco di aree di testo con un determinato limite di caratteri. Dopo l'invio del modulo accadono varie cose e una di queste è la generazione di PDF.

Il testo viene interrogato dal DB e inserito nel modello PDF creato in iReports. Funziona bene ma il dolore maggiore è il testo traboccante.

Il numero massimo di caratteri è impostato in base al testo "medio". Ma a volte le persone preferiscono scrivere con CAPS o aggiungere un sacco di linefeed per formattare il loro testo. Questi quindi fanno sì che il testo dell'utente superi lo spazio fornito in PDF. Sfortunatamente il documento PDF deve apparire come un vero modulo di domanda, quindi non posso consentire uno spazio illimitato.

Che tipo di approcci hai usato per affrontare questo?

  • Pulisci / limita l'input dell'utente?
  • Calcola i requisiti di spazio del testo in base alle metriche dei caratteri?
  • Fornire l'anteprima del PDF? (gli utenti troppo cattivi non sono autorizzati a modificare i propri input dopo l'invio ...)
È stato utile?

Soluzione

Idealmente, calcola il requisito in base alle metriche. Non so come iReports gestisca il testo, ma con iText espone tutto da solo, tu presenti i dati come un documento in streaming, quindi non ci preoccupiamo di traboccare il testo.

Tuttavia, iReport potrebbe non supportarlo o potrebbe essere necessario che il layout PDF si adatti a determinati limiti. Proverei a pulire l'input (cioè: se è tutto maiuscolo, minuscolo / frase maiuscola / caso proprio), rimuovere lo spazio extra. Se la pulizia dell'input non può essere eseguita in modo affidabile o le persone lo stanno ancora superando, lo limiterei anche.

Come ultima risorsa, presenterei il PDF per l'autorizzazione dell'utente. Davvero, agli utenti non dovrebbe essere dato più lavoro da fare e non lo faranno comunque.

Altri suggerimenti

Le tue soluzioni suggerite al tuo problema sono tutte valide. Probabilmente la domanda più importante a cui rispondere è che aspetto dovrebbe avere il tuo PDF quando i dati da visualizzare in un campo non si adattano? Hai mai bisogno della "risposta completa"? per qualcos'altro? Quando conosci la risposta a queste, avrai le tue opzioni ridotte.

Ad esempio se un campo deve essere limitato a 1/2 di una pagina e gli utenti a volte inseriscono più di 1/2 di una pagina di testo puoi   1) limita l'input dell'utente - al momento dell'invio calcola la dimensione (usando le metriche dei caratteri come hai detto) e rifiuta l'invio fino alla correzione. Ciò presuppone che l'utente possa legittimamente forzare l'utente a ridurre l'inserimento dei dati.   2) accetta l'input dell'utente e tronca nella visualizzazione di questo rapporto. Alcuni sistemi utilizzano " ... " per indicare che i dati sono stati troncati e possono fornire un collegamento ipertestuale (anche all'interno del PDF) per ottenere maggiori informazioni.

Fornire un'anteprima funzionerebbe davvero bene, ma solo se gli utenti sono bravi a controllare e correggere e il tuo sistema è in grado di gestire il carico aggiuntivo che ciò genererà.

Hai il controllo del carattere utilizzato durante la generazione del PDF? Se è così, vorrei cercare un carattere nella famiglia Monospace. Questo ti darà una lunghezza costante per un determinato numero di caratteri, indipendentemente da punteggiatura, maiuscole, ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top