Add text field annotation

Text field annotation adds rectangle with a text inside, like shown at the picture below. 

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

  • BackgroundColor - describes area background color;
  • Box - defines annotation position at document page;
  • Text - text that will be appear in rectangle
  • FontColor - color of the text
  • FontFamily - name of text font;
  • FontSize  - size of text font;
  • 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 TextField annotation to document:

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

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

String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", 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);
                Point point1 = new Point(80, 730);
                Point point2 = new Point(240, 730);
                Point point3 = new Point(80, 650);
                Point point4 = new Point(240, 650);
                List<Point> points = new ArrayList<Point>();
                points.add(point1);
                points.add(point2);
                points.add(point3);
                points.add(point4);
                StrikeoutAnnotation strikeout = new StrikeoutAnnotation();
                strikeout.setCreatedOn(Calendar.getInstance().getTime());
                strikeout.setFontColor(65535);
                strikeout.setMessage("This is strikeout annotation");
                strikeout.setOpacity(0.7);
                strikeout.setPageNumber(0);
                strikeout.setPoints(points);
                strikeout.setReplies(replies);
                annotator.add(strikeout);
                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.