org.faceless.pdf2

## Class AnnotationLink

- java.lang.Object
- - org.faceless.pdf2.PDFAnnotation
  - - org.faceless.pdf2.AnnotationLink

- All Implemented Interfaces:
    Cloneable

      public final class AnnotationLink
      extends PDFAnnotation

  A subtype new `PDFAnnotation` that performs the specified action when clicked. This can be used to create an HTML-style hyperlink, play a sound, or perform some other `PDFAction`.

  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnnotationLink()` Create a new Link annotation with a default `setStyle(org.faceless.pdf2.PDFStyle)` of `null`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `PDFAction` | `getAction()` Return the action performed by this hyperlink
    `float[]` | `getCorners()` Return the corners of the Annotation as specified by `setCorners()`.
    `float[]` | `getRectangle()` Return the rectangle this annotation applies to on the page, or `null` if no rectangle applies for this type of annotation.
    `PDFStyle` | `getStyle()` Returns the style used to draw the link on the page.
    `void` | `setAction(PDFAction action)` Set the action for this hyperlink
    `void` | `setCorners(float[] corners)` Set a series of corners of the quadrilateral(s) that encompass the text underlying this annotation.
    `void` | `setCorners(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4)` Set the four corners (x1,y1) (x2,y2) (x3,y3) (x4,y4) of the quadrilateral that encompasses the text underlying this annotation.
    `void` | `setRectangle(float x1, float y1, float x2, float y2)` Set the rectangle for the annotation - where it is on the page.
    `void` | `setStyle(PDFStyle style)` Set the style for this hyperlink annotation.
    `String` | `toString()`

    - ### Methods inherited from class org.faceless.pdf2.PDFAnnotation

      `addPropertyChangeListener, addReview, flatten, getAuthor, getColor, getContents, getCreationDate, getInReplyTo, getMetaData, getModifyDate, getOpacity, getPage, getPopup, getReplies, getReviews, getSubject, getType, getUniqueID, hasAppearanceState, isContentLocked, isPositionLocked, isPrintable, isReadOnly, isVisible, rebuild, removePropertyChangeListener, setAuthor, setColor, setContents, setCreationDate, setInReplyTo, setLocked, setMetaData, setModifyDate, setOpacity, setPage, setPrintable, setReadOnly, setSubject, setUniqueID, setVisible`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### AnnotationLink

          public AnnotationLink()

      Create a new Link annotation with a default `setStyle(org.faceless.pdf2.PDFStyle)` of `null`

  - ### Method Detail

    - #### setAction

          public void setAction(PDFAction action)

      Set the action for this hyperlink

    - #### getAction

          public PDFAction getAction()

      Return the action performed by this hyperlink

    - #### getRectangle

          public float[] getRectangle()

      Description copied from class: `PDFAnnotation`
      Return the rectangle this annotation applies to on the page, or `null` if no rectangle applies for this type of annotation. See the `setRectangle()` method for a discussion on units.
      Overrides:
        `getRectangle` in class `PDFAnnotation`
      Returns:
        the rectangle for this annotation, in the form of an array (x1, y1, x2, y2)
      See Also:
        `PDFAnnotation.setRectangle(float, float, float, float)`

    - #### setStyle

          public void setStyle(PDFStyle style)

      Set the style for this hyperlink annotation. Parameters from the style that are used include `LineColor`, `DashPattern`, `LineWeighting` and `FormStyle` (although Acrobat 4 and earlier will ignore the FormStyle)

      Alternatively the style may be `null` to prevent this link having any visible appearance on the page

      Parameters:
        `style` - the style to draw the link in - may be `null`

    - #### getStyle

          public PDFStyle getStyle()

      Returns the style used to draw the link on the page.
      Since:
        2.11.6
      See Also:
        `setStyle(org.faceless.pdf2.PDFStyle)`

    - #### setCorners

          public void setCorners(float x1,
                                 float y1,
                                 float x2,
                                 float y2,
                                 float x3,
                                 float y3,
                                 float x4,
                                 float y4)

      Set the four corners (x1,y1) (x2,y2) (x3,y3) (x4,y4) of the quadrilateral that encompasses the text underlying this annotation. This can be used to create the annotation on an angle, although viewers prior to Acrobat 7.0 will not recognise the rotation. Since 2.11.6 there is no need to call `setRectangle(org.faceless.pdf2.LayoutBox.Box, float, float)` as well as this method.
      Parameters:
        `x1` - the X co-ordinate of the bottom-left corner of the text
        `y1` - the Y co-ordinate of the bottom-left corner of the text
        `x2` - the X co-ordinate of the bottom-right corner of the text
        `y2` - the Y co-ordinate of the bottom-right corner of the text
        `x3` - the X co-ordinate of the top-left corner of the text
        `y3` - the Y co-ordinate of the top-left corner of the text
        `x4` - the X co-ordinate of the top-right corner of the text
        `y4` - the Y co-ordinate of the top-right corner of the text
      Since:
        2.4

    - #### setCorners

          public void setCorners(float[] corners)

      Set a series of corners of the quadrilateral(s) that encompass the text underlying this annotation. The points are specified in the same order as for the other `setCorners()` method. The supplied array must be 8xn long, specifying the n quadrilaterals that make up the annotation. If these points to not define a sequence of (possibly rotated) rectangle shapes, the results are undefined.
      Parameters:
        `corners` - an array of 8xn values, each group of 8 specified as (x1,y1, x2,y2, x3,y3, x4,y4)
      Since:
        2.11.6

    - #### setRectangle

          public void setRectangle(float x1,
                                   float y1,
                                   float x2,
                                   float y2)

      Description copied from class: `PDFAnnotation`
      Set the rectangle for the annotation - where it is on the page. Every annotation must have a rectangle set - if it's not set when the document is written, it's forced to (0,0,0,0).
      - For `AnnotationLink` and `AnnotationStamp` annotations, this is the rectangle containing the hyperlink area or stamp.
      - For `AnnotationNote` annotations, whether this method adjusts the location of the icon or the popup window depends on whether the annotation is closed or open at the time of the call to this method. When closed, the icon is positioned at x1,y2

      Note that all co-ordinates are in absolute page co-ordinates. This means they are measured in points from the bottom-left hand corner of the page, regardless of any calls to `PDFPage.rotate(float, float, double)` or `PDFPage.setUnits(float, int)` that have been made. This restriction is part of the PDF specification.

      Overrides:
        `setRectangle` in class `PDFAnnotation`
      Parameters:
        `x1` - the X co-ordinate of the bottom-left corner of the rectangle
        `y1` - the Y co-ordinate of the bottom-left corner of the rectangle
        `x2` - the X co-ordinate of the top-right corner of the rectangle
        `y2` - the Y co-ordinate of the top-right corner of the rectangle

    - #### getCorners

          public float[] getCorners()

      Return the corners of the Annotation as specified by `setCorners()`.
      Returns:
        an array of 8xn points as set by `setCorners()`
      Since:
        2.4

    - #### toString

          public String toString()

Copyright © 2001-2015 Big Faceless Organization