Zum Ende der Metadaten springen
Zum Anfang der Metadaten
Dieser Artikel beschreibt, wie das Annotationsprofil zu konfigurieren ist, um Textannotationen relativ zur Seitenausrichtung zu drehen.
Dieser Artikel beschreibt, wie das Annotationsprofil zu konfigurieren ist, um Textannotationen relativ zur Seitenausrichtung zu drehen.
Neue Funktionen
- Freies Rotieren von Textannotationen
- Textannotationen bei gedrehten Seiten in einem lesbaren Zustand anbringen
- Editor zur Drehung von Textannotationen um 90°
Bitte beachten Sie, dass die Speicherung der Rotation nur mit Formaten, welche ein solches Attribut unterstützen, funktioniert. Dies sind:
- jadice Annotationsformat
- ContentManager-Annotationsformat (mit der Einschränkung, dass die Funktionalität nur zur Verfügung steht, wenn die Annotationen ausschließlich über jadice-Komponenten geschrieben und gelesen werden). Bei ContentManager-Annotationen muss wie im folgenden gezeigt beim Speichern der Annoationen noch
setSaveAdditionalInfo(true)
gesetzt werden.
Codebeispiel einblenden
DefaultWriterControls writerControls = new DefaultWriterControls();
writerControls.getSettings(CMAnnotationWriterSettings.class).setFormat(format);
writerControls.getSettings(CMAnnotationWriterSettings.class).setSaveAdditionalInfo(true);
Erklärung der Attribute
Name | Typ | Default | Herkunft | Bedeutung |
---|
rotation | <integer> | 0 | TextAnnotation | Die Rotation selbst wird wie beim Stempel in der Annotation selbst gespeichert. Hierbei handelt es sich um einen Wert, welcher die Rotation (0-359) in Grad darstellt. |
showRotationHandle | <true>, <false>
| false | TextAnnotationWrangler | Dieser Wert gibt an, ob der Handle zur freien Rotation dargestellt wird. |
forceAnnotationUpRight | <OFF>, <ON_CREATION> | OFF | TextAnnotationWrangler | Über dieses Attribut wird festgelegt, ob Textannotationen beim Aufbringen in einem lesbaren Zustand in Relation zu der Seite aufgebracht werden. |
Hinweis: Sofern showRotationHandle
oder forceAnnotationUpright
verwendet werden, muss die Eigenschaft rotation
beim betreffenden <annotation-type>
in das Profil übernommen werden, um die gesetzte Rotation zu speichern.
Beispiele für den jadice viewer
Beispiel: Einbinden der Rotation und Verwendung des RotationEditors
Codebeispiel einblenden
<annotation-type name="Text" archetype="Text" extends="Rectangle" class="com.levigo.jadice.annotation.TextAnnotation">
<unrestricted name="rotation" propertyType="java.lang.Integer">
<default>0</default>
<editor toolkit="swing" class="com.levigo.jadice.swing.internal.annotation.editors.RotationEditor"/>
</unrestricted>
...
Zum Speichern der Rotation relativ zum Dokument ist in allen Anwendungsfällen die Konfiguration der Property "rotation
" nötig.
Sofern die Rotation manuell durch den Anwender verändert werden soll, kann zusätzlich der RotationEditor
eingebunden werden.
Beispiel: Den Handle für freie Rotation anzeigen
Codebeispiel einblenden
<annotation-type name="Note" archetype="Note" extends="Text" class="com.levigo.jadice.annotation.TextAnnotation">
<wrangler class="com.levigo.jadice.swing.internal.annotation.wranglers.TextAnnotationWrangler">
<property name="showRotationHandle">true</property>
</wrangler>
...
Diese Konfiguration wird nur benötigt, wenn - vergleichbar den Stempelannotationen - eine freie Drehung der Textannotationen durch den Benutzer erlaubt werden soll.
Beispiel: Textannotation immer lesbar erstellen
Codebeispiel einblenden
<annotation-type name="Note" archetype="Note" extends="Text" class="com.levigo.jadice.annotation.TextAnnotation">
<wrangler class="com.levigo.jadice.swing.internal.annotation.wranglers.TextAnnotationWrangler">
<property name="forceAnnotationUpRight">ON_CREATION</property>
</wrangler>
...
Dies ist einer der häufigsten Anwendungsfälle. Auf einer gedrehten Seite sollen Textannotationen immer "aufrecht" (also ohne Kopfverdrehen lesbar) angebracht werden.
Beispiele für das jadice web toolkit
Beispiel: Einbinden der Rotation
Codebeispiel einblenden
<annotation-type name="Text" archetype="Text" extends="Rectangle" class="com.levigo.jadice.annotation.TextAnnotation">
<unrestricted name="rotation" propertyType="java.lang.Integer">
<default>0</default>
</unrestricted>
...
Zum Speichern der Rotation relativ zum Dokument ist in allen Anwendungsfällen die Konfiguration der Property "rotation
" nötig.
Beispiel: Den Handle für freie Rotation anzeigen
Codebeispiel einblenden
<annotation-type name="Note" archetype="Note" extends="Text" class="com.levigo.jadice.annotation.TextAnnotation">
<wrangler toolkit="gwt" class="com.levigo.jadice.web.client.internal.annotation.wrangler.TextAnnotationWrangler">
<property name="showRotationHandle">true</property>
</wrangler>
...
Diese Konfiguration wird nur benötigt, wenn - vergleichbar den Stempelannotationen - eine freie Drehung der Textannotationen durch den Benutzer erlaubt werden soll.
Beispiel: Textannotation immer lesbar erstellen
Codebeispiel einblenden
<annotation-type name="Note" archetype="Note" extends="Text" class="com.levigo.jadice.annotation.TextAnnotation">
<wrangler toolkit="gwt" class="com.levigo.jadice.web.client.internal.annotation.wrangler.TextAnnotationWrangler">
<property name="forceAnnotationUpright">ON_CREATION</property>
</wrangler>
...
Dies ist einer der häufigsten Anwendungsfälle. Auf einer gedrehten Seite sollen Textannotationen immer "aufrecht" (also ohne Kopfverdrehen lesbar) angebracht werden.
Beispiel: Gesamte Textannotation mit allen hier beschriebenen Eigenschaften
Codebeispiel einblenden
<annotation-type name="Note" archetype="Note" extends="Text" class="com.levigo.jadice.annotation.TextAnnotation">
<renderer class="com.levigo.jadice.annotation.internal.renderer.TextAnnotationRenderer">
<property name="lineWrap">CHARACTER_CR</property>
</renderer>
<wrangler class="com.levigo.jadice.swing.internal.annotation.wranglers.TextAnnotationWrangler">
<property name="forceAnnotationUpRight">ON_CREATION</property>
<property name="showRotationHandle">true</property>
</wrangler>
<unrestricted name="rotation" propertyType="java.lang.Integer">
<default>0</default>
<editor toolkit="swing" class="com.levigo.jadice.swing.internal.annotation.editors.RotationEditor"/>
</unrestricted>
<labels>
<label locale="en">Note</label>
<label locale="de">Textnotiz</label>
</labels>
<unrestricted name="text" propertyType="java.lang.String">
<default>Note-Annotation</default>
</unrestricted>
<color name="fillColor" allow-transparency="false">
<labels>
<label locale="en">Fill color</label>
<label locale="de">Füllfarbe</label>
</labels>
<editor class="com.levigo.jadice.swing.internal.annotation.editors.ColorEditor">
<property name="iconName">fillColor</property>
</editor>
<default>#ffff00</default>
<preferred>#ff0000</preferred>
</color>
<color name="textColor" allow-transparency="false">
<labels>
<label locale="en">Text color</label>
<label locale="de">Schriftfarbe</label>
</labels>
<editor class="com.levigo.jadice.swing.internal.annotation.editors.ColorEditor">
<property name="iconName">textColor</property>
</editor>
<default>#000000</default>
<preferred>#000000</preferred>
</color>
</annotation-type>