webPDF 8: Operation Outline – Teil 4:

Minimum technical requirements

  • Java version: 8
  • webPDF version: 8
  • wsclient version: 2

Vorstellung weiterer ActionTypes

Aufgrund der Länge der Informationen zum Webservice Operation Outline haben wir vier Teile zum Thema veröffentlicht. Dieser Text ist die Fortsetzung von Teil 3 zu Operation Outline:

Folgende Parameter und Unterelemente können für eine setOCGState Action gewählt werden:

Das Objekt „layerState“

Dieses Objekt wählt Ebenen des Dokuments und bestimmt nach welcher Logik die Ebenensichtbarkeit geändert werden soll.

SetOCGStateActionType.LayerState layerState = new SetOCGStateActionType.LayerState();
setOCGState.getLayerState().add(layerState);

Am layerState Objekt lassen sich folgende Parameter setzen:

state (Standardwert: „ON“)

Die Statusänderungen, die an den Ebenen durchgeführt werden sollen.

  • ON = Die Ebenen sollen eingeblendet werden.
  • OFF = Die Ebenen sollen ausgeblendet werden.
  • TOGGLE = Die Sichtbarkeit der Ebenen soll umgeschaltet werden.
layerState.setState(OCGStateType.TOGGLE);

Das Objekt „referencedLayer“

Dieses Objekt wählt eine Ebene des Dokuments mittels ihres Namens.
Am layerSelection Objekt lassen sich folgende Parameter setzen:

name (Standardwert: „“)

Der Name der Ebene, die selektiert werden soll.

layerSelection.setName("LayerName");

transition-ActionType

Blendet bei Anwahl des Elements die durch andere Aktionen entstehenden Anzeigeänderungen, unter Verwendung der in dieser Aktion definierten Animation ein.

TransitionActionType transitionAction = new TransitionActionType();
firstPage.getActions().add(transitionAction);

Folgende Parameter und Unterelemente können für eine transition Action gewählt werden:

scaling (Standardwert: „100“)

Legt den prozentualen Wert für die Vergrößerung fest, die im Verlauf dieser Animation angewendet werden soll.

transitionAction.setScaling(50);

effectDimensionHorizontal (Standardwert: „true“)

Legt für Split und Blind Effekte die Achse fest, entlang derer die Animation ausgeführt werden soll. Wird dieser Wert auf true gesetzt, wird die Animation entlang der horizontalen Achse abgespielt, andernfalls entlang der vertikalen Achse.

transitionAction.setEffectDimensionHorizontal(false);

motionInward (Standardwert: „true“)

Legt für Split, Box und Fly Animationen fest, ob die Animationsrichtung zur Seitenmitter (true) oder zu den Seitenrändern (false) verlaufen soll.

transitionAction.setMotionInward(false);

flyAreaOpaque (Standardwert: „false“)

Legt für Fly Animationen fest, ob die „einfliegende“ Inhaltsebene initial durchsichtig sein soll.

transitionAction.setFlyAreaOpaque(true);

flyScale (Standardwert: „100“)

Legt prozentual für Fly Animationen den initialen Vergrößerungsfaktor der „einfliegenden“ Inhaltsebene fest.

transitionAction.setFlyScale(40);

direction (Standardwert: „leftToRight“)

Legt die Animationsrichtung fest.

  • LEFT_TO_RIGHT = Von links nach rechts.
  • BOTTOM_TO_TOP = Von unten nach oben.
  • RIGHT_TO_LEFT = Von rechts nach links.
  • TOP_TO_BOTTOM = Von oben nach unten.
  • TOP_LEFT_TO_BOTTOM_RIGHT = Von oben links nach unten rechts.
  • NONE = Nutze den Standardwert für die Animation.
transitionAction.setDirection(OutlineTransitionDirectionType.LEFT_TO_RIGHT);

style (Standardwert: „none“)

Legt den Animationsstil fest.

  • BLINDS = Überblenden
  • BOX = Im Rechteck überblenden
  • COVER = Überdecken
  • DISSOLVE = Auflösen
  • FADE = Verblassen
  • FLY = Seite einfliegen
  • GLITTER = Seite auflösen und ersetzen
  • PUSH = Seite aus dem Bild schieben
  • SPLIT = Seite zerteilen
  • UNCOVER = Seite aufdecken
  • WIPE = Umblättern
  • NONE = Kein besonderer Effekt
transitionAction.setStyle(OutlineTransitionStyleType.WIPE);

duration (Standardwert: „1.0“)

Die Dauer der Animation in Sekunden. (Zu hohe Werte können zu Problemen in Anzeigeprogrammen führen.)

transitionAction.setDuration(0.3f);

goTo3DView-ActionType

Bei Anwahl des Elements wird zu einer bestimmten Ansicht einer 3D Annotation gesprungen. (Die Annotation wird über ein annotationSelection Objekt gewählt.)

GoTo3DViewActionType goTo3DView = new GoTo3DViewActionType();
firstPage.getActions().add(goTo3DView);
AnnotationSelectionType annotationSelection = new AnnotationSelectionType();
goTo3DView.setAnnotation(annotationSelection);

Folgende Parameter und Unterelemente können für eine goTo3DView Action gewählt werden:

index

Wählt die Ansicht der 3D-Annotation über den Index der Ansicht. (Alternativ zu name und relative)

goTo3DView.setIndex(5);

name

Wählt die Ansicht der 3D-Annotation über den Namen der Ansicht. (Alternativ zu index und relative)

goTo3DView.setName("name");

relative

Wählt die Ansicht der 3D-Annotation relativ zur aktuell angezeigten Ansicht. (Alternativ zu name und index).

  • FIRST = Die erste Ansicht der 3D-Annotation
  • LAST = Die letzte Ansicht der 3D-Annotation
  • NEXT = Die nächste Ansicht der 3D-Annotation
  • PREVIOUS = Die vorhergehende Ansicht der 3D-Annotation
  • DEFAULT = Die STANDARD Ansicht der 3D-Annotation
goTo3DView.setRelative(RelativeThreeDViewOperationType.LAST);

goToThread-ActionType

Springt bei Anwahl des Elements zu einem bestimmten im Dokument definierten Artikel.

ThreadActionType thread = new ThreadActionType();
firstPage.getActions().add(thread);

Folgende Parameter und Unterelemente können für eine thread Action gewählt werden:

threadIndex

Wählt den Artikel anhand seines Index im Artikelverzeichnis des Dokuments. (Alternativ zu threadTitle.)

thread.setThreadIndex(4);

threadTitle

Wählt den Artikel anhand seines Titels. (Alternativ zu threadIndex.)

thread.setThreadTitle("threadTitle");

beadIndex

Wählt den Abschnitt des Artikels, zu dem gesprungen werden soll anhand seines Index.

thread.setBeadIndex(6);

page (Standardwert: „1“)

Die Seite auf der sich der Artikel befindet.

thread.setPage(3);

Das Objekt „remove“

Um aus der Inhaltsübersicht des Dokuments Elemente zu entfernen, fügen Sie dem Outline Objekt ein OutlineType.Remove Objekt hinzu.

OutlineType.Remove remove = new OutlineType.Remove();
outline.setRemove(remove);

Dem Objekt Remove lassen sich folgende Elemente hinzufügen:

Das Objekt „itemReference“

Um Elemente zu entfernen, wird dem Objekt Remove eine beliebige Anzahl an ItemReference Objekten hinzugefügt, die einen Knoten der Inhaltsübersicht anhand von Pfaden wählt. Die Pfade setzen sich hierbei aus den durch Slash(/) abgetrennten Namen der Einträge zusammen, beginnend mit einem initialen Slash. Wird ein Knoten entfernt, der Kindelemente enthält, so werden auch diese entfernt.

ItemReferenceType item = new ItemReferenceType();
remove.getItem().add(item);

Folgende Parameter können für ein itemReference Objekt gewählt werden:

path (Standardwert: „“)

Wählt ein Element der Inhaltsübersicht anhand seines Pfades.

item.setPath("/Kapitel 1/Seite 250/3D Ansicht");

Das Objekt „clear“

Um sämtliche Elemente aus der Inhaltsübersicht des Dokuments zu entfernen, fügen Sie dem Outline Objekt ein OutlineType.Clear Objekt hinzu.

ClearType clear = new ClearType();
outline.setClear(clear);

Ausführlicheres Beispiel

Schließlich noch ein etwas ausführlicheres Beispiel für unseren gesamten Webserviceaufruf (für die Ansprache der SOAP Schnittstelle):

try (
    // Aufbau einer Session mit dem webPDF Server(hier SOAP):
    Session session = SessionFactory.createInstance(
        WebServiceProtocol.SOAP,
        new URL("https://localhost:8080/webPDF/")
    );
    // Bereit stellen des Dokuments, das verarbeitet werden soll
    // und der Datei, in die das Ergebnis geschrieben werden soll:
    SoapDocument soapDocument = new SoapDocument(
        new File("Pfad des Quelldokuments").toURI(),
        new File("Pfad des Zieldokuments")
    )
) {
    // Wahl des Webservices über eine Factory:
    ToolboxWebService toolboxWebService =
        WebServiceFactory.createInstance(
            session, WebServiceType.TOOLBOX
        );
    toolboxWebService.setDocument(soapDocument);
    toolboxWebService.getPassword().setOpen("password");
    toolboxWebService.getPassword().setPermission("password");

    // Objektorientierte Parametrisierung des Aufrufs:
    OutlineType outline = new OutlineType();
    toolboxWebService.getOperation().add(outline);
    
    //Erstellung eines Outline Elements
    ItemType firstPage = new ItemType();
    outline.getAdd().getItem().add(firstPage);
    firstPage.setBold(true);
    firstPage.setColor("#FF0000");
    firstPage.setItalic(true);
    firstPage.setItemName("page1");
    firstPage.setPath("/root");
    firstPage.setPathPosition(AddPositionType.INPLACE);
    
    //Erstellung der Action, die ausgeführt werden soll, sobald 
    //das Outline Element angewählt wird.
    ThreadActionType threadAction = new ThreadActionType();
    threadAction.setPage(1);
    threadAction.setThreadIndex(1);
    threadAction.setBeadIndex(1);
    firstPage.getActions().add(threadAction);

    // Ausführung.
    toolboxWebService.process();
} catch (ResultException ex) {
    // Zur Auswertung möglicher aufgetretener Fehler, stellt ihnen die
    // wsclient Bibliothek entsprechende Methoden zur Verfügung:
}

Abschließende Hinweise zu Operation Outline

Mehr Infos zur Outline Parameterstruktur sowie Error-Codes finden Sie in unserem Nutzerhandbuch.
Beachten Sie bitte auch: Sämtliche Parameter sind mit gewissen Standardwerten vorbelegt. Ist ein Standardwert angegeben und weicht dieser nicht von Ihrem gewünschten Wert ab, so ist es nicht zwingend nötig diesen Parameter zu setzen.

Weitere Coding-Beispiele für Webservices wie Operation Outline, welche Sie mit der ws-client Bibliothek nutzen können finden Sie hier.