Class AnnotationStamp

  • All Implemented Interfaces:
    java.lang.Cloneable

    public final class AnnotationStamp
    extends PDFAnnotation
    A "Rubber-Stamp" annotation, which can also contain a longer message in an associated pop-up window. A number of predefined rubber stamps exist, or for custom stamps they can be created from a PDFCanvas object. For example, to add a rubber stamp to page, try something like this:
       AnnotationStamp stamp = new AnnotationStamp("stamp.standard.Approved", 1);
       float x = page.getWidth()/2;
       float y = page.getHeight()/2;
       float w = stamp.getRecommendedWidth();
       float h = stamp.getRecommendedHeight();
    
       stamp.setRectangle(x-(w/2), y-(h/2), x+(w/2), y+(h/2));
       page.addAnnotation(stamp);
     
    Since:
    2.0
    • Constructor Detail

      • AnnotationStamp

        public AnnotationStamp()
        Create a new, uninitialized AnnotationStamp object. The setType() or setCanvas() method must be called on this stamp to initialize it;
        Since:
        2.11.6
      • AnnotationStamp

        public AnnotationStamp​(java.lang.String type,
                               float opacity)
        Create a rubber-stamp annotation which can be added to the page. Calls the setType() method - see that method's API docs for details
        Parameters:
        type - the type of stamp
        opacity - the opacity of the stamp - anywhere between 0 (for transparent) and 1 (for opaque).
        Throws:
        java.lang.IllegalArgumentException - if the stamp type is unknown
        Since:
        2.0
        See Also:
        setType(java.lang.String, float)
    • Method Detail

      • setType

        public void setType​(java.lang.String type,
                            float opacity)
        Set the type of the stamp to one of the predefined "standard" types available with Acrobat. The available types are:
        stamp.stencil.ApprovedThe word "Approved" in a rubber-stamp style
        stamp.stencil.AsIsThe words "As Is" in a rubber-stamp style
        stamp.stencil.ConfidentialThe word "Confidential" in a rubber-stamp style
        stamp.stencil.DepartmentalThe word "Departmental" in a rubber-stamp style
        stamp.stencil.DraftThe word "Draft" in a rubber-stamp style
        stamp.stencil.ExperimentalThe word "Experimental" in a rubber-stamp style
        stamp.stencil.ExpiredThe word "Expired" in a rubber-stamp style
        stamp.stencil.FinalThe word "Final" in a rubber-stamp style
        stamp.stencil.ForCommentThe words "For Comment" in a rubber-stamp style
        stamp.stencil.ForPublicReleaseThe words "For Public Release" in a rubber-stamp style
        stamp.stencil.NotApprovedThe words "Not Approved" in a rubber-stamp style
        stamp.stencil.NotForPublicReleaseThe words "Not For Public Release" in a rubber-stamp style
        stamp.stencil.SoldThe words "As Is" in a rubber-stamp style
        stamp.stencil.TopSecretThe words "Top Secret" in a rubber-stamp style
        stamp.standard.ApprovedThe word "Approved" inside a box
        stamp.standard.CompletedThe word "Completed" inside a box
        stamp.standard.ConfidentialThe word "Confidential" inside a box
        stamp.standard.DraftThe word "Draft" inside a box
        stamp.standard.FinalThe word "Final" inside a box
        stamp.standard.ForCommentThe words "For Comment" inside a box
        stamp.standard.ForPublicReleaseThe words "For Public Release" inside a box
        stamp.standard.InformationOnlyThe words "Information Only" inside a box
        stamp.standard.NotApprovedThe words "Not Approved" inside a box
        stamp.standard.NotForPublicReleaseThe words "Not For Public Release" inside a box
        stamp.standard.PreliminaryResultsThe words "Preliminary Results" inside a box
        stamp.standard.VoidThe word "Void" inside a box
        stamp.signhere.AcceptedA green tick
        stamp.signhere.RejectedA red cross
        stamp.signhere.InitialHereAn arrow with the words "Initial Here"
        stamp.signhere.SignHereAn arrow with the words "Sign Here"
        stamp.signhere.WitnessAn arrow with the words "Witness"
        Parameters:
        type - the type of stamp - one of the values listed above
        opacity - the opacity of the stamp - anywhere between 0 (for transparent) and 1 (for opaque). Note that transparency was only added in Acrobat 5, so earlier viewers will ignore this setting.
        Throws:
        java.lang.IllegalArgumentException - if the stamp type is unknown
        Since:
        2.11.6
      • rebuild

        public void rebuild()
        Description copied from class: PDFAnnotation
        Rebuild the annotation's appearance. This will be done automatically when required, usually just before saving the PDF or rasterizing it to a bitmap. However this method can be called explicitly if necessary, usually to ensure the rebuild (which may fire a PropertyChangeEvent) is run on a specific thread.
        Overrides:
        rebuild in class PDFAnnotation
      • setCanvas

        public void setCanvas​(java.lang.String name,
                              PDFCanvas canvas)
        Set this stamp to use the specified canvas
        Parameters:
        name - the name of the stamp
        canvas - the canvas to use as the body of the stamp
        Since:
        2.11.6
      • getRotate

        public int getRotate()
        Get the rotation of this stamp, as set by setRotate(int)
        Since:
        2.11.7
      • setRotate

        public void setRotate​(int rotate)
        Set the rotation of the specified Stamp. We recommend the page and rectangle of the stamp are set before this method is called. Rotating an already rotated stamp will give the same broken results that you get in Acrobat, due to a specification fault.
        Parameters:
        rotate - the rotation in degrees clockwise;
        Since:
        2.11.7
      • getType

        public java.lang.String getType()
        Returns the type of Stamp used. This will probably be a textual description of the contents of the stamp, but is not guaranteed to be.
        Overrides:
        getType in class PDFAnnotation
      • getRecommendedWidth

        public float getRecommendedWidth()
        Return the recommended width of this stamp
      • getRecommendedHeight

        public float getRecommendedHeight()
        Return the recommended height of this stamp
      • toString

        public java.lang.String toString()
      • putLiteral

        public void putLiteral​(java.lang.String key,
                               java.lang.String tokens)
        Put a literal token sequnce. For debugging
        Parameters:
        key - the key
        tokens - the token sequence, eg "true" or "/foo" or "[/Foo/Bar]". No refs, just direct objects.
      • clone

        protected java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object