Die Renderer-Klassen setzen die Eigenschaften der Annotationsklassen in visuelle Objekte um, die letztendlich im Viewer-Fenster dann dargestellt werden.
Da die Annotationsklassen spezielle Eigenschaften besitzen, muss darauf geachtet werden, dass die entsprechende Renderer-Klasse diese auch abbliden kann (siehe Liste unten).
Das 'renderer' Element ist für die Darstellung der Annotation zuständig, das 'class' Attribut bestimmt die Java-Klasse zum Rendern der Annotation.
Einige Renderer-Klassen sind auch konfigurierbar.
Übersicht der Renderer-Klassen
Standard Render-Klassen (com.levigo.jadice.annotation.internal.renderer):
ArrowAnnotationRenderer
Darstellung von Pfeil-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.ArrowAnnotation
EllipseAnnotationRenderer
Darstellung von Kreis- / Ellipse / Oval-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.EllipseAnnotation
ImageAnnotationRenderer
Darstellung von Bild-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.ImageAnnotation
LineAnnotationRenderer
Darstellung von Linien-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.LineAnnotation
PathAnnotationRenderer
Darstellung von Polygon- / Vektor-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.PathAnnotation
RectangleAnnotationRenderer
Darstellung von Rechteck basierten Annotationen (z.B. Maskierungs- / Hervorhebungs-Annotation).
Annotation-Klasse: com.levigo.jadice.annotation.RectangleAnnotation
StampAnnotationRenderer
Darstellung von Stempel-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.StampAnnotation
StampImageAnnotationRenderer
Darstellung von Stempel-Annotationen ohne Textinhalt, dafür kann hier ein Bild angezeigt werden.
Annotation-Klasse: com.levigo.jadice.annotation.StampImageAnnotation
TextAnnotationRenderer
Darstellung von Text basierten Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.TextAnnotation
TextInfoAnnotationRenderer
Darstellung von Text basierten Annotationen mit einem zusätzlichen Anzeigefeld für weitere Informationen (z.B. aktueller Benutzer, Änderungsdatum, usw.).
Annotation-Klasse: com.levigo.jadice.annotation.TextAnnotation
Im folgenden werden die Konfigurationsmöglichkeiten der Renderer-Klassen erläutert:
TextAnnotationRenderer
Textformatierung / Zeilenumbruch:
<property name="lineWrap">NONE</property>
Folgende Einstellung sind möglich:
NONE
Es wird keine Anpassung an die Breite der Annotation vorgenommen.
WORD
Der Text wird wortweise angepasst an die Breite der Annotation, Zeilenumbrüche die im Editierfenster eingegeben wurden, gehen verloren.
WORD_CR
Der Text wird wortweise angepasst an die Breite der Annotation, Zeilenumbrüche die im Editierfenster eingegeben wurden, bleiben erhalten.
CHARACTER
Der Text wird zeichenweise angepasst an die Breite der Annotation, Zeilenumbrüche die im Editierfenster eingegeben wurden, gehen verloren.
CHARACTER_CR
Der Text wird zeichenweise angepasst an die Breite der Annotation, Zeilenumbrüche die im Editierfenster eingegeben wurden, bleiben erhalten.
SWING_WORD
Der Text wird wortweise angepasst, zur Formatierung wird eine Java JTextArea-Klasse verwendet
SWING_CHARACTER
Der Text wird zeichenweise angepasst, zur Formatierung wird eine Java JTextArea-Klasse verwendet
Automatische Grössenanpassung:
Die Textformatierung / Zeilenumbruch sollte deaktiviert werden (Wert = "NONE"), da es sonst evtl. zu Textlayoutprobleme kommen kann.
<property name="adjustMode">NONE</property>
Folgende Einstellung sind möglich:
NONE
Es wird keine Anpassung vorgenommen.
BOUNDS
Die Annotationsgrösse wird an das Textlayout angepasst
Automatische Textrotation beim Drehen:
Mit dieser Einstellung kann das Rotationsverhalten des Textes beim Drehen der Seite konfiguriert werden
<property name="forceTextUpRight">true</property>
Folgende Einstellung sind möglich:
false
Der Text wird beim Drehen der Seite rotiert
true
Der Text wird nicht rotiert beim Drehen der Seite, d.h. der Text ist immer lesbar. Bei einer 90°- / 270°-Rotation kann die Textsichtbarkeit evtl. durch die Grösse des Rahmens beschnitten werden.
Im folgenden sind formatspezifische Renderer-Klassen erläutert:
Bei CM 7 / 8 Annotationen ist die Darstellung der Liniendicke und Schriftgrösse abhängig von der Auflösung der aktuellen Seite, diese Anpassung wird von den ensprechenden Renderer-Klassen vorgenommen, das Verhalten kann über eine Einstellung konfiguriert werden:
Ein- / Ausschalten Anpassung der Liniendicke:
<property name="adjustLineWidth">true</property>
Ein- / Ausschalten Anpassung der Schriftgrösse (nur für textbasierte Annotationen möglich):
<property name="adjustFontSize">true</property>
Beispiel:
<renderer class="com.levigo.jadice.annotation.internal.renderer.cm.CMTextAnnotationRenderer"> <property name="adjustLineWidth">true</property> <property name="adjustFontSize">true</property> </renderer>
Übersicht der Renderer-Klassen
Render-Klassen (com.levigo.jadice.annotation.internal.renderer.cm):
CMArrowAnnotationRenderer
Darstellung von Pfeil-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.ArrowAnnotation
Zusätzliche Konfiguration: adjustLineWidth
CMEllipseAnnotationRenderer
Darstellung von Kreis- / Ellipse / Oval-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.EllipseAnnotation
Zusätzliche Konfiguration: adjustLineWidth
CMLineAnnotationRenderer
Darstellung von Linien-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.LineAnnotation
Zusätzliche Konfiguration: adjustLineWidth
CMPathAnnotationRenderer
Darstellung von Polygon- / Vektor-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.PathAnnotation
Zusätzliche Konfiguration: adjustLineWidth
CMRectangleAnnotationRenderer
Darstellung von Rechteck basierten Annotationen (z.B. Maskierungs- / Hervorhebungs-Annotation).
Annotation-Klasse: com.levigo.jadice.annotation.RectangleAnnotation
Zusätzliche Konfiguration: adjustLineWidth
CMStampAnnotationRenderer
Darstellung von Stempel-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.StampAnnotation
Zusätzliche Konfiguration: adjustLineWidth, adjustFontSize
CMStampImageAnnotationRenderer
Darstellung von Stempel-Annotationen ohne Textinhalt, dafür kann hier ein Bild angezeigt werden.
Annotation-Klasse: com.levigo.jadice.annotation.StampImageAnnotation
Zusätzliche Konfiguration: adjustLineWidth
CMTextAnnotationRenderer
Darstellung von Text basierten Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.TextAnnotation
Zusätzliche Konfiguration: adjustLineWidth, adjustFontSize
CM8NoteAnnotationRenderer
Darstellung von Notiz-Annotationen (nur CM8, da hier Rand- und Textfarbe identisch sind), für CM7 wird der CMTextAnnotationRenderer verwendet.
Annotation-Klasse: com.levigo.jadice.annotation.TextAnnotation
Zusätzliche Konfiguration: adjustLineWidth, adjustFontSize
Bei FileNet P8 Annotationen ist die Darstellung der Liniendicke abhängig von der Auflösung der aktuellen Seite, diese Anpassung wird von den ensprechenden Renderer-Klassen vorgenommen, das Verhalten kann über eine Property-Einstellung konfiguriert werden.
Zudem gibt es eine Option, das Renderverhalten von FileNet IS / IDM Viewer zu verwenden (betrifft Text- / Stempelannotation), hier ist es möglich die Text- / Umrandungsfarbe seperat einzustellen, dieses Verhalten ist evtl. für migrierte Datenbestände hilfreich.
Ein- / Ausschalten Anpassung der Liniendicke:
<property name="adjustLineWidth">true</property>
Ein- / Ausschalten des FileNet IS (IDM Viewer) renderspezifischen Verhaltens (nur für Text- / Stempelannotation möglich):
<property name="useISRendering">true</property>
Wenn dieser Wert auf "false" steht, ist das Verhalten des FileNet P8 Standardviewers aktiv, hier ist dann darauf zu achten, dass folgende Eigenschaften im Annotationsprofil fest definiert sind, es dürfen keine Editoren zum ändern der Werte definiert sein:
<fixed name="linePainted" propertyType="java.lang.Boolean"> <default>true</default> </fixed> <fixed name="lineWidth" propertyType="java.lang.Float"> <default>1</default> </fixed>
Beispiel:
<renderer class="com.levigo.jadice.annotation.internal.renderer.fnp8.FNP8TextAnnotationRenderer"> <property name="adjustLineWidth">true</property> <property name="useISRendering">true</property> </renderer>
Übersicht der Renderer-Klassen
Render-Klassen (com.levigo.jadice.annotation.internal.renderer.fnp8):
FNP8ArrowAnnotationRenderer
Darstellung von Pfeil-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.ArrowAnnotation
Zusätzliche Konfiguration: adjustLineWidth
FNP8EllipseAnnotationRenderer
Darstellung von Kreis- / Ellipse / Oval-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.EllipseAnnotation
Zusätzliche Konfiguration: adjustLineWidth
FNP8LineAnnotationRenderer
Darstellung von Linien-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.LineAnnotation
Zusätzliche Konfiguration: adjustLineWidth
FNP8NoteAnnotationRenderer
Darstellung von Notiz-Annotationen
Annotation-Klasse: com.levigo.jadice.annotation.TextAnnotation
Zusätzliche Konfiguration: adjustLineWidth
FNP8PathAnnotationRenderer
Darstellung von Polygon- / Vektor-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.PathAnnotation
Zusätzliche Konfiguration: adjustLineWidth
FNP8RectangleAnnotationRenderer
Darstellung von Rechteck basierten Annotationen (z.B. Maskierungs- / Hervorhebungs-Annotation).
Annotation-Klasse: com.levigo.jadice.annotation.RectangleAnnotation
Zusätzliche Konfiguration: adjustLineWidth
FNP8StampAnnotationRenderer
Darstellung von Stempel-Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.StampAnnotation
Zusätzliche Konfiguration: adjustLineWidth, useISRendering
FNP8TextAnnotationRenderer
Darstellung von Text basierten Annotationen.
Annotation-Klasse: com.levigo.jadice.annotation.TextAnnotation
Zusätzliche Konfiguration: adjustLineWidth, useISRendering
Bei FileNet IS Annotationen gibt es nur einen speziellen Renderer für die Darstellung der Notizannotation, hier kann die Grösse (in Pixel) definiert werden:
<renderer class="com.levigo.jadice.annotation.internal.renderer.fnis.FNISNoteAnnotationRenderer"> <property name="iconifiedWidth">30</property> <property name="iconifiedHeight">30</property> </renderer>
Render-Klassen (com.levigo.jadice.annotation.internal.renderer.fnis):
FNISNoteAnnotationRenderer
Darstellung von Notiz-Annotationen
Annotation-Klasse: com.levigo.jadice.annotation.TextAnnotation
Zusätzliche Konfiguration: iconifiedWidth, iconifiedHeight