Add arrow annotation

Arrow annotation draws an arrow on the document like shown at the picture below. 

There  is an ability to specify the next fields for ArrowAnnotation type:

  • Box - defines annotation position at document page;
  • Opacity - allows to set annotation opacity;
  • PenColor - defines frame color;
  • PenStyle - defines frame line style (solid, dash, dot etc.);
  • PenWidth - defines frame line width in pixels.

Follow these steps to add Arrow annotation to document:

  • Instantiate Annotator object with input document path or stream;
  • Instantiate ArrowAnnotation object with desired properties (position, page number, etc);
  • Call add method and pass ArrowAnnotation object;
  • Call save method with resultant document path or stream.

The following code demonstrates how to add ArrowAnnotation to the document:

String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUtils.getExtension(Constants.INPUT));
            final Annotator annotator = new Annotator(Constants.INPUT);
            try {
                Reply reply1 = new Reply();
                reply1.setComment("First comment");
                reply1.setRepliedOn(Calendar.getInstance().getTime());
                Reply reply2 = new Reply();
                reply2.setComment("Second comment");
                reply2.setRepliedOn(Calendar.getInstance().getTime());
                java.util.List<Reply> replies =  new ArrayList<Reply>();
                replies.add(reply1);
                replies.add(reply2);
                ArrowAnnotation arrow = new ArrowAnnotation();
                arrow.setBox(new Rectangle(100, 100, 100, 100));
                arrow.setCreatedOn(Calendar.getInstance().getTime());
                arrow.setMessage("This is arrow annotation");
                arrow.setOpacity(0.7);
                arrow.setPageNumber(0);
                arrow.setPenColor(65535);
                arrow.setPenStyle(PenStyle.Dot);
                arrow.setPenWidth((byte) 3);
                arrow.setReplies(replies);
                annotator.add(arrow);
                annotator.save(outputPath);
            } finally {
                if (annotator != null) {
                    annotator.dispose();
                }
            }

More resources

Advanced Usage Topics

To learn more about document annotating features, please refer to the advanced usage section.

GitHub Examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free Online App

Along with full-featured Java library we provide simple, but powerful free Apps.
You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online GroupDocs Annotation App.