Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Hinweis

Ab der Version 5.5.0.0 wurden neue "Einpassen" Funktionen eingeführt mit dem nun standardmäßig in der BasicDemoApplication verwendeten FitCurrentPageCommand. Diese beziehen sich anders als bisher auf das einmalige Einpassen der aktuellen Seite, das heißt, dass beim Einpassen nur die aktuelle Seite wie gewünscht eingepasst wird und bei einer Änderung der Seitengröße erneut eingepasst werden muss. Details finden sich im letzten Abschnitt.

Problem:

  • Die Zoom-to-Fit-Buttons funktionieren nicht, sind aber trotzdem aktiviert. Andere Zoom-Funktionalitäten sind funktionsfähig (z. B. der Zoom auf einen festen Prozentwert).
  • Oder alternativ die Zoom-to-Fit-Buttons sind aktiv, aber die Anzeige funktioniert aber nicht erwartungsgemäß.  

 

Image Added

Gleiches gilt für das Zoom Snap-In:

...

Codeblock
// add presentation rules
final List<PresentationRule> rules = mainViewer.getPageView().getPresentationRuleManager().getRules();
rules.add(new SwitchToSinglePageOnFit());
rules.add(new ApplyDynamicZoomRule());

Anwendungsbeispiel: JadiceDemoApplicationBasicDemoApplication.initialiseGUIgetPresentationRules()

 

Hinweis

Dynamic Zoom Modes 

  • ZOOM_MODE_FIT_BOTH
  • ZOOM_MODE_FIT_WIDTH
  • ZOOM_MODE_FIT_HEIGHT

stehen nur im Einzelseiten-Layout zur Verfügung, da sie in mehrseitigen Layouts konzeptuell keinen Sinn ergeben. Daher müssen zur korrekten Verwendung der Fit Funktionen beide PresentationRules com.levigo.jadice.swing.pageview.SwitchToSinglePageOnFit und com.levigo.jadice.swing.pageview.ApplyDynamicZoomRule gesetzt sein.

...

Durch die Nutzung von Mehrseiten-Layouts wird dem jeweils aktiven Layout die Hoheit über die Positionierung und Skalierung der Seiten übergeben. Die zentrale Aufgabe eines Layouts ist es, stets alle Seite Seiten optimal in das gewünschte Layout Muster einzupassen. Dies kollidiert mit dem Einzelseiten-Einpassen und Modus Verhalten, dass eine Skalierung und Positionierung einer bestimmten Seite vorgeben will. In dieser der konkurrierenden Situation, also Verwendung eines Mehrseiten-Layouts und einem Einpassen Modi, kann es zu unerwarteten Effekten kommen. Dies tritt beispielsweise beim Scrollen (=dynamischer Wechsel der aktiven Seite) auf. Ein zuverlässiges Darstellungsverhalten kann in diesem Fall nicht zugesichert werden.

...

  • com.levigo.jadice.swing.pageview.ApplyDynamicZoomRule
    • Sorgt dafür, dass die Auswahl eines Dynamic Zoom Mode (ein ›Anpassen‹-Modus) auch tatsächlich dazu führt, dass die Seitenanzeige angepasst wird. So wird bei jedem Seitenwechsel erneut die tatsächliche Seitengröße und der Skalierungsfaktor berechnet, um nach der festgelegten Vorgabe anzupassen. Nachfolgend muss die Seite für die berechneten Faktoren ggf. aufbereitet und neu gerendert werden. (siehe auch Hinweis oben)
  • com.levigo.jadice.swing.pageview.SwitchToSinglePageOnFit
    • Wechselt bei Auswahl eines Dynamic Zoom Mode (ein ›Anpassen‹-Modus) auf das Einzelseiten-Layout
      Wie oben beschrieben ist der dynamische Zoom ausgelegt für die Verwendung im Einzelseiten-Layout. Zur Sicherstellung der Funktionsweise, existiert die Presentation Rule SwitchToSinglePageOnFit. Diese muss zwingend registriert werden, wenn der dynamische Zoom korrekt genutzt werden soll.

 

 

 

...

Einmaliges Einpassen ohne Modus

Da in den meisten Anwendungsfällen ein Dokument keine oftmals wechselnden Seitengrößen oder -formate enthält, besteht seit Version 5.5.0.0 die Möglichkeit eine einfachere Variante der Fit Commands  zu verwenden, die bereits standardmäßig, in der BasicDemoApplication enthalten sind. Diese passen nur einmalig die Seite in den sichtbaren Bereich ein anstatt bei jedem Seitenwechsel erneut. Der wesentliche Vorteil der neuen Fit Commands besteht darin, dass über das gesamte Dokument sehr einfach das gleiche Layout und die gleiche Anzeigeeinstellungen verwendet werden können. Daher wird die Verwendung der neuen FitCommands für die meisten Anwendungsfälle empfohlen.