Class PdfAnnotation

Direct Known Subclasses:
PdfFormField

public class PdfAnnotation extends PdfDictionary
A PdfAnnotation is a note that is associated with a page.
See Also:
  • Field Details

    • HIGHLIGHT_NONE

      public static final PdfName HIGHLIGHT_NONE
      highlight attributename
    • HIGHLIGHT_INVERT

      public static final PdfName HIGHLIGHT_INVERT
      highlight attributename
    • HIGHLIGHT_OUTLINE

      public static final PdfName HIGHLIGHT_OUTLINE
      highlight attributename
    • HIGHLIGHT_PUSH

      public static final PdfName HIGHLIGHT_PUSH
      highlight attributename
    • HIGHLIGHT_TOGGLE

      public static final PdfName HIGHLIGHT_TOGGLE
      highlight attributename
    • FLAGS_INVISIBLE

      public static final int FLAGS_INVISIBLE
      flagvalue
      See Also:
    • FLAGS_HIDDEN

      public static final int FLAGS_HIDDEN
      flagvalue
      See Also:
    • FLAGS_PRINT

      public static final int FLAGS_PRINT
      flagvalue
      See Also:
    • FLAGS_NOZOOM

      public static final int FLAGS_NOZOOM
      flagvalue
      See Also:
    • FLAGS_NOROTATE

      public static final int FLAGS_NOROTATE
      flagvalue
      See Also:
    • FLAGS_NOVIEW

      public static final int FLAGS_NOVIEW
      flagvalue
      See Also:
    • FLAGS_READONLY

      public static final int FLAGS_READONLY
      flagvalue
      See Also:
    • FLAGS_LOCKED

      public static final int FLAGS_LOCKED
      flagvalue
      See Also:
    • FLAGS_TOGGLENOVIEW

      public static final int FLAGS_TOGGLENOVIEW
      flagvalue
      See Also:
    • APPEARANCE_NORMAL

      public static final PdfName APPEARANCE_NORMAL
      appearance attributename
    • APPEARANCE_ROLLOVER

      public static final PdfName APPEARANCE_ROLLOVER
      appearance attributename
    • APPEARANCE_DOWN

      public static final PdfName APPEARANCE_DOWN
      appearance attributename
    • AA_ENTER

      public static final PdfName AA_ENTER
      attributevalue
    • AA_EXIT

      public static final PdfName AA_EXIT
      attributevalue
    • AA_DOWN

      public static final PdfName AA_DOWN
      attributevalue
    • AA_UP

      public static final PdfName AA_UP
      attributevalue
    • AA_FOCUS

      public static final PdfName AA_FOCUS
      attributevalue
    • AA_BLUR

      public static final PdfName AA_BLUR
      attributevalue
    • AA_JS_KEY

      public static final PdfName AA_JS_KEY
      attributevalue
    • AA_JS_FORMAT

      public static final PdfName AA_JS_FORMAT
      attributevalue
    • AA_JS_CHANGE

      public static final PdfName AA_JS_CHANGE
      attributevalue
    • AA_JS_OTHER_CHANGE

      public static final PdfName AA_JS_OTHER_CHANGE
      attributevalue
    • MARKUP_HIGHLIGHT

      public static final int MARKUP_HIGHLIGHT
      attributevalue
      See Also:
    • MARKUP_UNDERLINE

      public static final int MARKUP_UNDERLINE
      attributevalue
      See Also:
    • MARKUP_STRIKEOUT

      public static final int MARKUP_STRIKEOUT
      attributevalue
      See Also:
    • MARKUP_SQUIGGLY

      public static final int MARKUP_SQUIGGLY
      attributevalue
      Since:
      2.1.3
      See Also:
    • writer

      protected PdfWriter writer
    • reference

      protected PdfIndirectReference reference
      Reference to this annotation.
      Since:
      2.1.6; was removed in 2.1.5, but restored in 2.1.6
    • templates

      protected Map<PdfTemplate,Object> templates
    • form

      protected boolean form
    • annotation

      protected boolean annotation
    • used

      protected boolean used
      Holds value of property used.
    • placeInPage

      private int placeInPage
      Holds value of property placeInPage.
  • Constructor Details

    • PdfAnnotation

      public PdfAnnotation(PdfWriter writer, Rectangle rect)
    • PdfAnnotation

      public PdfAnnotation(PdfWriter writer, float llx, float lly, float urx, float ury, PdfString title, PdfString content)
      Constructs a new PdfAnnotation of subtype text.
      Parameters:
      writer - pdf writer
      llx - lower-left-x
      lly - lower-left-y
      urx - upper-right-x
      ury - upper-right-y
      title - title
      content - content
    • PdfAnnotation

      public PdfAnnotation(PdfWriter writer, float llx, float lly, float urx, float ury, PdfAction action)
      Constructs a new PdfAnnotation of subtype link (Action).
      Parameters:
      writer - pdf writer
      llx - lower-left-x
      lly - lower-left-y
      urx - upper-right-x
      ury - upper-right-y
      action - PdfAction
  • Method Details

    • createScreen

      public static PdfAnnotation createScreen(PdfWriter writer, Rectangle rect, String clipTitle, PdfFileSpecification fs, String mimeType, boolean playOnDisplay) throws IOException
      Creates a screen PdfAnnotation
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      clipTitle - clip title
      fs - PdfFileSpecification
      mimeType - mime type of the file
      playOnDisplay - play on display
      Returns:
      a screen PdfAnnotation
      Throws:
      IOException - on error
    • createText

      public static PdfAnnotation createText(PdfWriter writer, Rectangle rect, String title, String contents, boolean open, String icon)
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      title - title for the link
      contents - content
      open - open
      icon - icon
      Returns:
      a PdfAnnotation
    • createLink

      protected static PdfAnnotation createLink(PdfWriter writer, Rectangle rect, PdfName highlight)
      Creates a link.
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      highlight - the highlight property
      Returns:
      A PdfAnnotation
    • createLink

      public static PdfAnnotation createLink(PdfWriter writer, Rectangle rect, PdfName highlight, PdfAction action)
      Creates an Annotation with an Action.
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      highlight - title for the link
      action - action for annotation
      Returns:
      A PdfAnnotation
    • createLink

      public static PdfAnnotation createLink(PdfWriter writer, Rectangle rect, PdfName highlight, String namedDestination)
      Creates an Annotation with an local destination.
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      highlight - title for the link
      namedDestination - destination for pdf annotation
      Returns:
      A PdfAnnotation
    • createLink

      public static PdfAnnotation createLink(PdfWriter writer, Rectangle rect, PdfName highlight, int page, PdfDestination dest)
      Creates an Annotation with a PdfDestination.
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      highlight - title for the link
      page - page
      dest - destination for pdf annotation
      Returns:
      A PdfAnnotation
    • createFreeText

      public static PdfAnnotation createFreeText(PdfWriter writer, Rectangle rect, String contents, PdfContentByte defaultAppearance)
      Add some free text to the document.
      Parameters:
      writer - pdf writer
      rect - dimension
      contents - content of free text
      defaultAppearance - default appearance
      Returns:
      A PdfAnnotation
    • createLine

      public static PdfAnnotation createLine(PdfWriter writer, Rectangle rect, String contents, float x1, float y1, float x2, float y2)
      Adds a line to the document. Move over the line and a tooltip is shown.
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      contents - content for the file
      x1 - x-coordinate
      y1 - y-coordinate
      x2 - x-coordinate
      y2 - y-coordinate
      Returns:
      A PdfAnnotation
    • createSquareCircle

      public static PdfAnnotation createSquareCircle(PdfWriter writer, Rectangle rect, String contents, boolean square)
      Adds a circle or a square that shows a tooltip when you pass over it.
      Parameters:
      writer - pdf writer
      rect - dimension of the tooltip
      contents - The tooltip
      square - true if you want a square, false if you want a circle
      Returns:
      A PdfAnnotation
    • createMarkup

      public static PdfAnnotation createMarkup(PdfWriter writer, Rectangle rect, String contents, int type, float[] quadPoints)
    • createStamp

      public static PdfAnnotation createStamp(PdfWriter writer, Rectangle rect, String contents, String name)
      Adds a Stamp to your document. Move over the stamp and a tooltip is shown
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      contents - content for the file
      name - name of the annotation
      Returns:
      A PdfAnnotation
    • createInk

      public static PdfAnnotation createInk(PdfWriter writer, Rectangle rect, String contents, float[][] inkList)
    • createFileAttachment

      public static PdfAnnotation createFileAttachment(PdfWriter writer, Rectangle rect, String contents, byte[] fileStore, String file, String fileDisplay) throws IOException
      Creates a file attachment annotation.
      Parameters:
      writer - the PdfWriter
      rect - the dimensions in the page of the annotation
      contents - the file description
      fileStore - an array with the file. If it's null the file will be read from the disk
      file - the path to the file. It will only be used if fileStore is not null
      fileDisplay - the actual file name stored in the pdf
      Returns:
      the annotation
      Throws:
      IOException - on error
    • createFileAttachment

      public static PdfAnnotation createFileAttachment(PdfWriter writer, Rectangle rect, String contents, PdfFileSpecification fs) throws IOException
      Creates a file attachment annotation
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      contents - content for the file
      fs - PdfFileSpecification
      Returns:
      the annotation
      Throws:
      IOException - on error
    • createPopup

      public static PdfAnnotation createPopup(PdfWriter writer, Rectangle rect, String contents, boolean open)
      Adds a popup to your document.
      Parameters:
      writer - PdfWriter
      rect - dimensions Rectangle
      contents - content for the file
      open - if popup is open
      Returns:
      A PdfAnnotation
    • getMKColor

      public static PdfArray getMKColor(Color color)
    • getIndirectReference

      public PdfIndirectReference getIndirectReference()
      Returns an indirect reference to the annotation
      Returns:
      the indirect reference
    • setDefaultAppearanceString

      public void setDefaultAppearanceString(PdfContentByte cb)
    • setFlags

      public void setFlags(int flags)
    • addFlags

      public int addFlags(int flags)
      Adds one or more flag(s) to the existing annotation flags
      Parameters:
      flags - value to be added
      Returns:
      int the new flag value
    • setBorder

      public void setBorder(PdfBorderArray border)
    • setBorderStyle

      public void setBorderStyle(PdfBorderDictionary border)
    • setHighlighting

      public void setHighlighting(PdfName highlight)
      Sets the annotation's highlighting mode. The values can be HIGHLIGHT_NONE, HIGHLIGHT_INVERT, HIGHLIGHT_OUTLINE and HIGHLIGHT_PUSH;
      Parameters:
      highlight - the annotation's highlighting mode
    • setAppearance

      public void setAppearance(PdfName ap, PdfTemplate template)
    • setAppearance

      public void setAppearance(PdfName ap, String state, PdfTemplate template)
    • setAppearanceState

      public void setAppearanceState(String state)
    • setColor

      public void setColor(Color color)
    • setTitle

      public void setTitle(String title)
    • setPopup

      public void setPopup(PdfAnnotation popup)
    • setAction

      public void setAction(PdfAction action)
    • setAdditionalActions

      public void setAdditionalActions(PdfName key, PdfAction action)
    • isUsed

      public boolean isUsed()
      Getter for property used.
      Returns:
      Value of property used.
    • setUsed

      public void setUsed()
      Setter for property used.
    • getTemplates

      public HashMap<PdfTemplate,Object> getTemplates()
    • isForm

      public boolean isForm()
      Getter for property form.
      Returns:
      Value of property form.
    • isAnnotation

      public boolean isAnnotation()
      Getter for property annotation.
      Returns:
      Value of property annotation.
    • setPage

      public void setPage(int page)
    • setPage

      public void setPage()
    • getPlaceInPage

      public int getPlaceInPage()
      Getter for property placeInPage.
      Returns:
      Value of property placeInPage.
    • setPlaceInPage

      public void setPlaceInPage(int placeInPage)
      Places the annotation in a specified page that must be greater or equal to the current one. With PdfStamper the page can be any. The first page is 1.
      Parameters:
      placeInPage - New value of property placeInPage.
    • setRotate

      public void setRotate(int v)
    • getMK

      PdfDictionary getMK()
    • setMKRotation

      public void setMKRotation(int rotation)
    • setMKBorderColor

      public void setMKBorderColor(Color color)
    • setMKBackgroundColor

      public void setMKBackgroundColor(Color color)
    • setMKNormalCaption

      public void setMKNormalCaption(String caption)
    • setMKRolloverCaption

      public void setMKRolloverCaption(String caption)
    • setMKAlternateCaption

      public void setMKAlternateCaption(String caption)
    • setMKNormalIcon

      public void setMKNormalIcon(PdfTemplate template)
    • setMKRolloverIcon

      public void setMKRolloverIcon(PdfTemplate template)
    • setMKAlternateIcon

      public void setMKAlternateIcon(PdfTemplate template)
    • setMKIconFit

      public void setMKIconFit(PdfName scale, PdfName scalingType, float leftoverLeft, float leftoverBottom, boolean fitInBounds)
    • setMKTextPosition

      public void setMKTextPosition(int tp)
    • setLayer

      public void setLayer(PdfOCG layer)
      Sets the layer this annotation belongs to.
      Parameters:
      layer - the layer this annotation belongs to
    • setName

      public void setName(String name)
      Sets the name of the annotation. With this name the annotation can be identified among all the annotations on a page (it has to be unique).
      Parameters:
      name - name to be set for annotation
    • addFKey

      private void addFKey()