Untergeordnete Seiten
  • Hinweise zu Migration von jadice document platform 5.3 zu 5.4
Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Neue Funktionen und Features:

  • Loslösen der PageSegmente von ihrer Eltern-Page, Ausnahme AnnotationPageSegment. Details unter DOCPV-1270.

  • Nachfolgend gelistete Commands haben nun via canExecute Methode eine sinnvollen Enabled Status erhalten und stehen nun innerhalb des jadice IPlus Demo Moduls im Source Code zur Verfügung. Details unter DOCPV-1298 und DOCPV-1299.

    • PageNavigationCommand
    • DocumentNavigationCommand
    • ItemNavigationCommand
    • MetadataNavigationCommand
  • TextCursorTool: Neues Tool, das die Navigation in sowie die Auswahl von Text über die Tastatur entsprechend der Verhaltensweise eines Text-Editors erlaubt. Zur Verwendung muss das TextCursorTool im ToolManager registriert werden (ToolManager::register(Tool, boolean)). Weitere Hinweise finden Sie in Abschnitt Klassen- und Funktionsüberblick > Tools in der technischen Dokumentation).

  • (Stamp-)ImageAnnotation: Bildinformation von ImageAnnotationen müssen nicht mehr vorab geladen werden, der Datenstrom kann nun direkt gesetzt werden. Zusätzlich ist ein neuer AnnotationPageSegmentEvent-Typ, com.levigo.jadice.annotation.AnnotationPageSegmentEvent.EventType.PROPERTY_STREAM_CONTENT, geschaffen worden, der Änderungen an den Bilddaten von Image Annotationen identifiziert. 

  • UncloseableSeekableInputStream und UncloseableSubfileSeekableInputStream stehen nun als Teil der Public API im Package com.levigo.jadice.document.io zur Verfügung. Details unter DOCPV-1307

  • Neues Verschlüsselungsverfahren aus PDF 32000:1-2008 Extension Level 3 (Revision 5, 256-bit AES) wird nun unterstützt. Achtung: 256-Bit-Verschlüsselungen werden von Oracle-JVMs in ihrer Standardkonfiguration nicht unterstützt. Warum und wie die Systemvoraussetzungen erfüllt werden können wird unter https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#importlimits beschrieben. Weitere Details unter DOCPV-947.

  • Unterstützung von durch Wang injizierte Transparenzen zur Anzeige von ImageAnnotationen(BMP).Details unter DOCPV-1258 und Untervorgängen.

  • Es wird nun ein einheitliches Interface zum Setzen der Modifiers für die Aktivierung von Tools verwendet: com.levigo.jadice.swing.tool.ModifierActivated. Siehe DOCPV-1421. Als Konsequenz daraus ändern sich einige Property-Namen:
    • com.levigo.jadice.swing.pageview.MouseWheelZoomTool.setModifierMask(int)  setActivationModifiers(int)
    • com.levigo.jadice.swing.pageview.PanTool.setModifierAndButtonMask(int)  setActivationModifiers(int)

    • com.levigo.jadice.demo.gestures.MouseGestureSupport.setButtonAndModifierMask(int)  setActivationModifiers(int)
    • com.levigo.jadice.swing.crosshair.CrossHairTool.setToggleFrozenModifier(int), com.levigo.jadice.swing.crosshair.CrossHairTool.setToggleFrozenMouseButton(int)  setActivationModifiers(int)
    • com.levigo.jadice.swing.lens.HoverLensTool.setToggleFrozenModifier(String), com.levigo.jadice.swing.lens.HoverLensTool.setToggleFrozenMouseButton(int)  setActivationModifiers(int)
  • Anzeige von Produkt Informationen: Es gibt einen neuen, optisch leichtgewichtigeren Dialog zur Anzeige von Produkt Informationen. Auf vielfachen Wunsch ermöglicht dieser Dialog das Kopieren der Version und Lizenz Informationen. Abgebildet wird die Funktion durch die Klasse com.levigo.jadice.swing.JadiceProductInformationWindow.JadiceProductInformationWindow(Frame). Das zugehörige Command findet sich unter com.levigo.jadice.swing.commands.ShowProductInfoWindowCommand. Diese Klassen lösen den bisherigen com.levigo.jadice.swing.JadiceProductInformationSplash und das zugehörige Command com.levigo.jadice.swing.commands.ShowProductInfoWindowCommand ab.

Verbesserung:

  • PropertyChangeListener: com.levigo.jadice.swing.commands.AbstractPageViewCommand war aus historischen Gründen ein PropertyChangeListener, der aber nie als solches verwendet werden konnte. Diese missverständliche Klassendefinition ist korrigiert worden, AbstractPageViewCommand implementiert PropertyChangeListener nicht mehr.
  • Das Interface com.levigo.jadice.document.PageSegmentSource erbte in bisherigen Versionen vom Interface com.levigo.jadice.document.SourceID die folgenden drei Methoden: getReadID()getStreamIndex() und getStreamPageIndex(). Die Vererbung wurde nun zu einer Komposition geändert. Eine PageSegmentSource liefert daher jetzt über getSourceID() eine Instanz von SourceID. Diese identifiziert die PageSegmentSource. Die drei genannten Methoden werden von PageSegmentSource nicht mehr angeboten, dafür aber von der referenzierten SourceID. Zusätzlich schreibt SourceID nun explizit vor, dass sinnvolle hashCode() und equals(…) Methoden zur Verfügung gestellt werden müssen.
  • Typo in den Methoden Signaturen korrigiert: 
    • com.levigo.jadice.document.metadata.MetadataNode.getPefix(String) wird zu MetadataNode.getPrefix(String) und 
    • com.levigo.jadice.document.metadata.MetadataNode.getPefixes(String) wird zu MetadataNode.getPrefixes(String)
  • Die Namensgebung des Moduls jadice-addon-infoprovider ist korrigiert worden in jadice-addon-infotree. Die neue Namensgebung ist nun passend zu den beinhalteten Komponenten und Features.
    • Anmerkung: Die Umbenennung wurde auch in den Demo-Paketen für die entsprechenden Klassen-, Feld- und Methodennamen vorgenommen.
  • Umbennung von Methoden innerhalb der Schnittstellen GraphicalState und GraphicalStateFactory. Eine detaillierte Liste der geänderten Methodennamen findet sich unter DOCPV-1254.
  • PDF-Verschlüsselung:
    • Klassen-Verschiebung: Klassen, die sich auf den Standard Security Handler (Passwort-Verschlüsselung) der PDF Security API beziehen, wurden in ein separates Sub-Package verschoben. Details finden sich unter DOCPV-1332.
    • Es kann nun entschieden werden, ob die Authentifizierung als User oder als Owner stattfinden soll. Details zur Änderung in DOCPV-1328
  • Die Schnittstelle DynamicTreeModule$ChangeListener wurde umbenannt zu DynamicTreeModule$TreeCallback, da dieser Name den Zweck der Schnittstelle besser widerspiegelt.
  • Die Sichtbarkeit des Konstruktors com.levigo.jadice.document.model.DocumentModelInfo.DocumentModelInfo(DocumentModelStatistics) wurde auf private reduziert. Das Erzeugen von Instanzen muss (wie auch bisher schon) über die statischen get(…)-Methoden der Klasse erfolgen.
  • Die Klasse com.levigo.jadice.format.pdf.fontmap.PDFFontManagerMappingSettings wurde zu com.levigo.jadice.format.pdf.fontmap.PDFFontMapping umbenannt. Siehe DOCPV-1422.
  • Folgende Änderungen sind an der Klasse TextReaderSettings vorgenommen worden.  

    • Der zu verwendende Font wird durch eine Instanz der Klasse com.levigo.jadice.format.text.TextFont bestimmt.

    • Die Text Rendering Hints AntiAliased und FractionalMetrics haben eigene Getter- und Setter erhalten.

    • Die Methode getFontRenderContext() entfällt, der FontRenderContext kann durch die Kombination aus den Text Rendering Hints AntiAliased und FractionalMetrics sowie einer Identity-AffineTransform gebildet werden.
    • Der zugehörige Vorgang findet sich unter DOCPV-1432.
  • API-Änderungen an den Klassen com.levigo.jadice.annotation.ImageAnnotation / com.levigo.jadice.annotation.StampImageAnnotation
    Neue Hierarchie: Basis ist nun die com.levigo.jadice.annotation.ObjectAnnotation Klasse die weiterhin von der com.levigo.jadice.annotation.RectangleAnnotation Klasse erbt um die Funktionalität des RectangleAnnotationWrangler's für die GUI-Interaktionen zu gewährleisten. Für die ObjectAnnotation existiert keine Renderer-Implementation für die Darstellung.

    Zugriff auf Inhalt:

    alt: public Page getPage()

    neu: public SeekableInputStream getContentStream()

    Setzen des Inhalts:

    alt: public void setPage(Page page)

    neu: public void setContentStream(SeekableInputStream contentStream) throws JadiceException

    Beim Setzen wird versucht den Datenstrom via Reader-API zu laden. Das Laden dient der Erkennung des Bildformats und zur Feststellung, ob die Anzeige möglich ist. Tritt beim Laden ein Fehler auf wird ein JadiceException ausgelöst. Nach erfolgreichem Laden wird der Datenstromzeiger wieder auf Anfang (Position 0) gesetzt. Es wird eine Warnung ausgegeben, wenn der Bildinhalt mehr als 1 Seite enthält. Es kann bei der Anzeige nur eine Bildseite dargestellt werden. Zum Schluss wird ein Event vom Typ com.levigo.jadice.annotation.AnnotationPageSegmentEvent.EventType.PROPERTY_STREAM_CONTENT ausgelöst.

  • API-Änderungen an der Klassen com.levigo.jadice.annotation.AnnotationPageSegmentEvent.EventType
    Event-Typ AnnotationPageSegmentEvent.EventType.PROPERTY_IMAGE_CONTENT gibt es nicht mehr und wurde durch AnnotationPageSegmentEvent.EventType.PROPERTY_STREAM_CONTENT ersetzt.

Nicht mehr unterstützte und entfernte Elemente:

  • com.levigo.jadice.ocr.ExampleOCRPageSegment Wie der Name schon verrät war diese Klasse Teil eines POC zur Anbindung von Tesseract.

  • Nachfolgend gelistete Commands wurden aus dem jadice-model entfernt um quelloffen veröffentlicht zu werden. Sie stehen nun innerhalb des jadice IPlus Demo Moduls im Source Code zur Verfügung. Siehe DOCPV-1298 und DOCPV-1299.
    • PageNavigationCommand
    • DocumentNavigationCommand
    • ItemNavigationCommand
    • MetadataNavigationCommand
  • Entfernen einer seit langem als deprecated markierten Klasse: com.levigo.util.mm.MaximumAgeCache. Siehe DOCPV-1339.
  • Sämtliche als deprecated markierten Methoden/Konstruktoren der Klasse com.levigo.jadice.document.JadiceException wurden entfernt. Die Konstante JadiceException.TYPE_UNDEFINED wurde ebenfalls entfernt, da durch den Wegfall der Methoden kein Anwendungsfall mehr für diese Konstante besteht. Siehe DOCPV-1239.
  • Die Klasse PDFFontMappingSettings wurde nach langer deprecated-Phase entfernt. Ersatzklasse ist com.levigo.jadice.format.pdf.fontmap.PDFFontMapping. Siehe DOCPV-1422.
  • Die Methode AreaSelectionTool.paintHandles(Handle[], RenderParameters) war aufgrund der Verwendung von internal API nicht im Rahmen der öffentlichen API nutzbar. Siehe wurde daher aus der öffentlichen API entfernt. Diese Korrektur wurde im Rahmen von DOCPV-1412 vollzogen.
  • Aus den Klassen com.levigo.jadice.swing.lens.HoverLensTool und com.levigo.jadice.swing.crosshair.CrossHairTool wurden alle als  deprecated markierten Felder und Methoden entfernt. Diese Änderung umfasst die folgenden als deprecated markierten Einstellungen: jadice.hover-lens.frozen-state-mode=enabled(1) und jadice.crosshair.frozen-state-mode=enabled(1).