Frage

Ich habe eine Web-Anwendung erstellt, die als ein allzu kompliziertes Antragsformular zu sehen sind. Es gibt Haufen von Textbereichen mit einem bestimmten Zeichen. Nach dem Formulareinreichung verschiedene Dinge passieren, und einer von ihnen ist die PDF-Erzeugung.

Der Text wird von der DB abgefragt und in der PDF-Vorlage erstellt in iReports eingefügt. Dies funktioniert gut, aber der größte Schmerz ist überquellender Text.

Die maximale Anzahl von Zeichen wird basierend auf ‚durchschnittlichen‘ Text. Aber manchmal die Menschen lieber mit CAPS schreiben oder zu viel Zeilenvorschübe fügen ihren Text zu formatieren. Diese verursachen dann Benutzers Text, den Raum in PDF gegeben zum Überlaufen. Leider ist das PDF-Dokument wie ein echtes Bewerbungsformular aussehen muss, damit ich nicht unbegrenzt Raum erlauben kann.

Welche Ansätze, die Sie verwendet haben, dies zu bewältigen?

  • Sauber / beschränken Benutzereingaben?
  • Berechnen Sie den Platzbedarf des Textes anhand von Font-Metriken?
  • Vorschau des PDF zur Verfügung stellen? (Schade Benutzer nicht erlaubt, ihre Eingabe nach Vorlage zu ändern ...)
War es hilfreich?

Lösung

Idealerweise berechnet die Anforderung basierend auf Metriken. Ich weiß nicht, wie iReports Text behandelt, aber mit iText, legt sie alles aus sich selbst, man muss nur die Daten als Streaming-Dokument präsentieren, so dass wir keine Sorge über Text überfüllt.

Allerdings iReport kann das nicht unterstützen, oder Sie können die PDF-Layout passen innerhalb bestimmter Grenzen haben müssen. Ich würde versuchen, die Eingabe zu reinigen (dh: wenn es alle Kappen, Klein / Satz Fall / korrekter Fall hat es), Streifen zusätzliche Leerzeichen. Wenn der Eingangs Reinigung nicht zuverlässig durchgeführt werden, oder die Menschen immer noch Vergangenheit, dass immer, würde ich es auch beschränken.

Als letztes Mittel, würde ich das PDF für den Benutzer darstellen zu autorisieren. Wirklich, sollten Benutzer nicht gegeben mehr Arbeit zu tun, und sie sind sowieso nicht gehen, es zu tun.

Andere Tipps

Ihre eigenen vorgeschlagenen Lösungen für Ihr Problem sind alle gut. Die wohl wichtigste Frage beantwortet zu haben ist, was sollten Sie Ihre PDF aussehen, wenn die Daten in einem Feld angezeigt werden nicht passen? Sie benötigen immer die „volle Antwort“ für etwas anderes? Wenn Sie die Antwort auf diese kennen, werden Sie Ihre Möglichkeiten reduziert haben.

Zum Beispiel, wenn ein Feld muss auf 1/2 eine Seite beschränkt, und die Benutzer manchmal mehr geben als 1/2 eine Textseite können Sie entweder   1) begrenzen die Benutzereingabe - auf Vorlage berechnet die Größe (mit font-Metriken wie Sie gesagt hat) und lehnt die Vorlage bis korrigiert. Dies setzt voraus, Sie zu Recht der Benutzer zwingen können, ihre Dateneingabe zu reduzieren.   2) nehmen die Benutzereingabe und gestutzt im Display dieses Berichts. Einige Systeme verwenden „...“ Daten, um anzuzeigen, abgeschnitten wurde, und liefert einen Hyperlink (auch im PDF), um mehr Informationen zu erhalten.

Die Bereitstellung einer Vorschau wirklich gut funktionieren würde, aber nur, wenn die Benutzer gut sind Kontrolle und Korrektur und Ihr System kann die zusätzliche Belastung umgehen dies erzeugen.

Haben Sie die Kontrolle über die Schriftart, die verwendet wird, wenn die PDF-Erzeugung? Wenn ja, würde ich für eine Schriftart in der Monospace Familie suchen. Dies wird Ihnen konsistente Länge für eine bestimmte Anzahl von Zeichen, unabhängig von Interpunktion, Kapitalisierung, etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top