org.faceless.pdf2
Class AnnotationLink

java.lang.Object
  extended by org.faceless.pdf2.PDFAnnotation
      extended by 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
AnnotationLink()
          Create a new Link annotation with a default setStyle(org.faceless.pdf2.PDFStyle) of null
 
Method Summary
 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, 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).

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-2012 Big Faceless Organization