webPDF 8: Operation Outline – Part 4:

Minimum technical requirements

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

Presentation of further ActionTypes

Continuation of part 3:

The following parameters and subelements can be selected for a setOCGState Action:

The “layerState” object

This object selects layers of the document and determines the logic according to which the layer visibility is to be changed.

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

Am layerState Objekt lassen sich folgende Parameter setzen:

The following parameters can be set on the layerState object:

state (default value: “ON”)

The status changes that are to be made to the levels.

  • ON = The levels are to be displayed.
  • OFF = The levels are to be hidden.
  • TOGGLE = The visibility of the levels is to be switched.
layerState.setState(OCGStateType.TOGGLE);

The “referencedLayer” object

This object selects a level of the document by its name.

OCGSelectionType layerSelection = new OCGSelectionType();
layerState.getReferencedLayer().add(layerSelection);

The following parameters can be set on the layerSelection object:

name (default value: “”)

The name of the layer to be selected.

layerSelection.setName("LayerName");

transition-ActionType

When the element is selected, displays the display changes resulting from other actions, using the animation defined in this action.

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

The following parameters and sub-elements can be selected for a transition action:

scaling (default value: “100”)

Defines the percentage value for the magnification to be applied during this animation.

transitionAction.setScaling(50);

effectDimensionHorizontal (default value: true)

Defines the axis along which the animation is to be executed for split and blind effects. If this value is set to true, the animation will play along the horizontal axis, otherwise it will play along the vertical axis.

transitionAction.setEffectDimensionHorizontal(false);

motionInward (default value: “true”)

Defines for split, box and fly animations whether the animation direction should run to the page midter (true) or to the page margins (false).

transitionAction.setMotionInward(false);

flyAreaOpaque (default value: “false”)

Defines for fly animations whether the “incoming” content layer should be initially transparent.

transitionAction.setFlyAreaOpaque(true);

flyScale (default value: “100”)

Defines the initial magnification factor of the “incoming” content layer as a percentage for fly animations.

transitionAction.setFlyScale(40);

direction (default value: “leftToRight”)

Defines the animation direction.

  • LEFT_TO_RIGHT = From left to right.
  • BOTTOM_TO_TOP = From bottom to top.
  • RIGHT_TO_LEFT = From right to left.
  • TOP_TO_BOTTOM = From top to bottom.
  • TOP_LEFT_TO_BOTTOM_RIGHT = From top left to bottom right.
  • NONE = Use the default value for the animation.
transitionAction.setDirection(OutlineTransitionDirectionType.LEFT_TO_RIGHT);

style (default value: “none”)

Sets the animation style.

  • BLINDS = Crossfade
  • BOX = Blend in rectangle
  • COVER = cover
  • DISSOLVE = Resolve
  • FADE = Fading
  • FLY = Fly in page
  • GLITTER = Resolve and replace page
  • PUSH = Move page out of image
  • SPLIT = Split page
  • UNCOVER = uncover page
  • WIPE = turn page
  • NONE = No special effect
transitionAction.setStyle(OutlineTransitionStyleType.WIPE);

duration (default value: “1.0”)

The duration of the animation in seconds. (Too high values can lead to problems in display programs.)

transitionAction.setDuration(0.3f);

goTo3DView-ActionType

Selecting the element jumps to a specific view of a 3D annotation. (The annotation is selected via an annotationSelection object.)

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

The following parameters and subelements can be selected for a goTo3DView action:

index

Selects the 3D annotation view using the view index. (Alternative to name and relative)

goTo3DView.setIndex(5);

name

Selects the 3D annotation view using the view name. (Alternative to index and relative)

goTo3DView.setName("name");

relative

Selects the 3D annotation view relative to the currently displayed view. (Alternative to name and index).

  • FIRST = The first view of the 3D annotation.
  • LAST = the last view of the 3D annotation
  • NEXT = The next view of the 3D annotation
  • PREVIOUS = the previous view of the 3D annotation
  • DEFAULT = the STANDARD view of the 3D annotation
goTo3DView.setRelative(RelativeThreeDViewOperationType.LAST);

goToThread-ActionType

Jumps to a specific article defined in the document when the element is selected.

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

The following parameters and subelements can be selected for a thread action:

threadIndex

Selects the article according to its index in the index of articles of the document. (Alternative to threadTitle.)

thread.setThreadIndex(4);

threadTitle

Selects the article based on its title. (Alternative to threadIndex.)

thread.setThreadTitle("threadTitle");

beadIndex

Selects the section of the article to jump to based on its index.

thread.setBeadIndex(6);

page (default value: “1”)

The page on which the article is located.

thread.setPage(3);

The object “remove”

To remove elements from the table of contents of the document, add an OutlineType.Remove object to the Outline object.

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

The following elements can be added to the Remove object:

The object “itemReference”

To remove items, any number of ItemReference objects are added to the Remove object to select a node in the table of contents using paths. The paths are composed of the names of the items separated by slash(/), starting with an initial slash. If a node containing child elements is removed, these are also removed.

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

The following parameters can be selected for an itemReference object:

path (default value: “”)

Selects an element in the table of contents by its path.

item.setPath("/Chapter 1/Page 250/3D View");

The “clear” object

To remove all elements from the table of contents of the document, add an OutlineType.Clear object to the Outline object.

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

More detailed example

Finally a more detailed example for our entire webservice call (for addressing the SOAP interface):

try (
    // Setup of a session with the webPDF server (here SOAP):
    Session session = SessionFactory.createInstance(
        WebServiceProtocol.SOAP,
        new URL("https://localhost:8080/webPDF/")
    );
    // Provide the document to be processed
    // and the file in which the result is to be written:
    SoapDocument soapDocument = new SoapDocument(
        new File("Path of the source document").toURI(),
        new File("Path of the target document")
    )
) {
    // Selection of the webservice via a factory:
    ToolboxWebService toolboxWebService =
        WebServiceFactory.createInstance(
            session, WebServiceType.TOOLBOX
        );
    toolboxWebService.setDocument(soapDocument);
    toolboxWebService.getPassword().setOpen("password");
    toolboxWebService.getPassword().setPermission("password");

    // Object-oriented parameterization of the call:
    OutlineType outline = new OutlineType();
    toolboxWebService.getOperation().add(outline);
    
    //Creation of an outline element
    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);
    
    //Creation of the action that is to be executed as soon as 
    //the outline element is selected.
    ThreadActionType threadAction = new ThreadActionType();
    threadAction.setPage(1);
    threadAction.setThreadIndex(1);
    threadAction.setBeadIndex(1);
    firstPage.getActions().add(threadAction);

    // execution.
    toolboxWebService.process();
} catch (ResultException ex) {
    // To evaluate possible errors that have occurred, the
    // wsclient library appropriate methods are available:
}

Concluding remarks

  • More information about the outline parameter structure and error codes can be found in our user manual.
  • Please also note: All parameters are preset with certain default values. If a default value is specified and does not deviate from your desired value, it is not absolutely necessary to set this parameter.

More coding examples for webservices that you can use with the ws-client library can be found here.