Es werden alle Annotationen vom Dokument in ein Datenobjekt geschrieben.
Codebeispiel:
DefaultWriterControls controls = new DefaultWriterControls(); // Ausgabeformat: // für CM 7 Umfeld: Format.CM7 (Standard) // für CM 8 Umfeld: Format.CM8 controls.getSettings(CMAnnotationWriterSettings.class).setFormat(Format.CM8); CMAnnotationWriter writer = new CMAnnotationWriter(); writer.write(<<Document-Instanz>>, <<Outputstream>>, controls);
CMAnnotationWriterSettings
Konfiguration:
-
setFormat(Format)
(Default =Format.CM7
)Wenn Annotationen im CM8-Format gespeichert werden sollen, muss hier
Format.CM8
gesetzt werden.Zu beachten: CM8-Format Annotationen können nicht mehr im IBM CM7 Viewer angezeigt werden.
Beim Laden wird das Format automatisch erkannt.
-
setCM8ViewerCompatibilityModeEnabled(boolean)
(Default =false
)Diese Einstellung muss beim Parallelbetrieb jadice / IBM CM Viewer aktiviert sein. Der Standardwert ist
false
, um altes Verhalten beizubehalten.Hintergrund: Der IBM CM Viewer unterstützt erst seit Kurzem das Anbringen von CM8-Annotationen auf PDF-Dokumenten. Da die Position und Größe der CM8-Annotationen abhängig von der Auflösung sind, haben wir als Standard eine Auflösung von 7200 DPI verwendet. Der IBM CM Viewer rechnet hier mit anderen Werten. Um eine korrekt Darstellung zwischen jadice und IBM CM Viewer zu bekommen, muss dieser Parameter auf
true
gesetzt werden. Zu beachten: Beim Lesen muss der Parameter in denCMAnnotationReaderSettings
gesetzt werden. -
setSaveAdditionalInfo(boolean)
(Default =false
)Es werden zusätzliche Informationen pro Annotation gespeichert, die Informationen werden aus dem Annotationsobjekt ausgelesen:
-
Erstellername
Name des Erstellers der Annotation (
getCreatedBy()
). -
Benutzername
Name des Benutzers, der die Annotation zuletzt geändert hat (
getLastModifiedBy()
). -
Erstelldatum
Estelldatum der Annotation (
getCreatedAt()
). -
Änderungsdatum
Letzes Datum einer Änderung (
getLastModifiedAt()
).
Zu beachten: Die zusätzlichen Informationen werden vom IBM CM Viewer ignoriert. Bei einem Speichervorgang im IBM CM Viewer gehen die Informationen verloren.
Beim Ladevorgang werden die Informationen automatisch erkannt und im Annotationsobjekt gesetzt.
-
-
setUseImagePlusNamingScheme(boolean)
(Default =false
)Diese Einstellung sollte nur für Parallelbetrieb IBM Image-Plus Viewer (IODM-Viewer) / jadice Viewer verwendet werden.
Hintergrund: Image-Plus Annotationen (Maske- / Mask-Annotation, Notiz- / Note-Annotation, Hervorhebung- / Highlight-Annotation) haben im Vergleich zu CM-Annotationen eine andere Namenskonvention.
Über die folgende Methoden kann das Output-Encoding beziehungsweise die Codepage
einer textspezifischen Annotation (Note / Stamp / Text) gesetzt werden. Wird hier
ein Encoding gesetzt, wird die Definition in die Annotation übernommen. Bei
null
wird das vordefinierte Encoding aus der
CMAnnotationWriter
Klasse verwendet.
-
setEncodingNoteAnnotation(String)
(Default =null
)Setzt das Encoding für die Notiz- / Note-Annotation.
-
setEncodingStampAnnotation(String)
(Default =null
)Setzt das Encoding für die Stempel- / Stamp-Annotation.
-
setEncodingTextAnnotation(String)
(Default =null
)Setzt das Encoding für die Text-Annotation.
Übersicht der Encoding-Definitionen:
-
CP850
(DOS-Latin-1)IBM-Encoding für Notiz- / Note-Annotation. Der Zeichensatz ist eingeschränkt, es fehlen zum Beispiel die osteuropäischen Sonderzeichen.
Wird als Standard vom Windows IBM CM Viewer verwendet.
-
CP1252
(Western European / ANSI)IBM-Encoding für Text-Annotation und Stempel- / Stamp-Annotation. Der Zeichensatz ist eingeschränkt, es fehlen zum Beispiel die osteuropäischen Sonderzeichen.
Wird als Standard vom Windows IBM CM Viewer verwendet.
-
CP1208
(UTF-8)IBM-Encoding für Notiz- / Note-Annotation, Text-Annotation und Stempel- / Stamp-Annotation. Zeichensatz entspricht der UTF-8 Definition.
Andere IBM-Encodings können verwendet werden, die Anzeige im IBM CM Viewer ist aber nicht sichergestellt.