Было время, когда мы обсуждали содержание документа и отзывы в длинных цепочках электронной почты с несколькими вложениями и разными версиями файлов. Теперь мы можем просто использовать аннотации, чтобы разметить документ сообщениями и ответами и отправить его. В этой статье вы узнаете, как программно аннотировать PDF-документы на Java с помощью вашего приложения. Кроме того, мы увидим, как удалять аннотации из PDF-файлов с помощью того же Java API.

Ниже приведены темы, кратко обсуждаемые ниже:

Java-API аннотатора PDF

Чтобы иметь дело с аннотациями вашего документа и изображений в ваших Java-приложениях, GroupDocs предоставляет GroupDocs.Annotation for Java. Используя API, вы можете добавлять, удалять и извлекать аннотации из текстовых документов, электронных таблиц, презентаций, изображений, сообщений электронной почты, Visio * чертежи*, некоторые AutoCAD и форматы цифровых изображений, такие как DICOM. Кроме того, API позволяет аннотировать PDF-файлы. Вы можете ознакомиться с документацией, чтобы узнать о длинном списке поддерживаемых форматов документов для аннотаций.

Загрузите и настройте

Получите библиотеку аннотаций из загружаемых материалов или просто добавьте следующую конфигурацию pom.xml в свои Java-приложения на основе Maven, чтобы попробовать примеры из этой статьи, а также множество других примеров, доступных на GitHub. Для получения подробной информации вы можете посетить Справочник по API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-annotation</artifactId>
        <version>20.2</version> 
</dependency>

Добавить аннотации в PDF на Java

Давайте быстро перейдем к добавлению различных типов аннотаций в документ PDF. Поскольку существует множество различных типов аннотаций, мы не можем охватить все в этой статье. Я просто упомяну их, а вы можете узнать о каждой аннотации в отдельности.

  • Аннотации области/прямоугольника

  • Стрелка

  • Расстояние

  • Эллипс

  • Выделять

  • Ссылка на сайт

  • Точка

  • Полилиния

  • Замена

  • Редактирование ресурсов

  • Зачеркивание

  • Текстовое поле

  • Редактирование текста

  • Подчеркнуть

  • Водяной знак

Давайте начнем добавлять некоторые из них в документ PDF.

Добавить аннотацию со стрелкой в PDF с помощью Java

Ниже приведены шаги, чтобы добавить аннотацию со стрелкой в документ PDF.

Стрелочная аннотация
  • Загрузите документ PDF с помощью класса Аннотатор.
  • Инициализировать аннотацию стрелки с помощью класса ArrowAnnotation.
  • Установите положение и размер стрелки, используя метод setBox ArrowAnnotation.
  • Добавьте созданную стрелочную аннотацию к объекту Annotator.
  • Сохраните аннотированный PDF-файл, указав путь с помощью метода save.

В следующем примере кода показано, как добавить аннотацию со стрелкой в документ PDF с помощью Java.

// Добавить аннотацию со стрелкой в PDF с помощью Java
final Annotator annotator = new Annotator("document.pdf");
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(100, 100, 100, 100)); // (x, y, width, height)
annotator.add(arrow);
annotator.save("path/annotated-with-arrow.pdf");

Вставьте аннотацию прямоугольника или области в PDF с помощью Java

Вы можете настроить любую аннотацию при добавлении ее в документ. Ниже приведены шаги по добавлению аннотации прямоугольника или области в документ PDF с небольшими дополнительными настройками. Это похоже на добавление аннотации Arrow, но вместо ArrowAnnotation используется класс AreaAnnotation.

  • Загрузите документ PDF с помощью класса Аннотатор.
  • Инициализировать прямоугольную аннотацию с помощью класса AreaAnnotation.
  • Установите положение и размер прямоугольника с помощью метода setBox в AreaAnnotation.
  • Установите другие свойства, такие как цвет, фон, прозрачность, стиль, толщина пера или даже сообщения и время. .
  • Добавьте аннотацию созданного прямоугольника к объекту Annotator.
  • Сохраните аннотированный PDF-файл, указав путь с помощью метода save.
Аннотация прямоугольника или области

В следующем примере кода показано, как добавить аннотацию прямоугольника/области в документ PDF с помощью Java.

// Добавить аннотацию области или аннотацию прямоугольника в PDF с помощью Java
final Annotator annotator = new Annotator("document.pdf");
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
// добавить в документ
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

Добавьте аннотацию овала или эллипса в PDF с помощью Java

Ниже приведены шаги по добавлению овальной или эллиптической аннотации в документ PDF.

Эллипсы или овальные аннотации
  • Загрузите документ PDF с помощью класса Аннотатор.
  • Инициализировать аннотацию эллипса с помощью класса EllipseAnnotation.
  • Установите положение и размер эллипса с помощью метода setBox в EllipseAnnotation.
  • Добавьте созданную аннотацию в виде эллипса к объекту Annotator.
  • Сохраните аннотированный PDF-файл, указав путь с помощью метода save.

В следующем примере кода показано, как добавить овальную или эллипсную аннотацию в документ PDF с помощью Java.

// Добавьте аннотацию овала или эллипса в PDF с помощью Java
final Annotator annotator = new Annotator("document.pdf");
// Овальная или эллипсная аннотация
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// добавить в документ
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

Вставьте аннотацию расстояния в PDF с помощью Java

Аннотация расстояния

Вы также можете добавить аннотацию расстояния, чтобы показать расстояние между двумя точками. Ниже приведены шаги для добавления аннотации расстояния в документ PDF.

  • Загрузите документ PDF с помощью класса Annotator.
  • Инициализируйте аннотацию расстояния, используя класс DistanceAnnotation.
  • Установите размер и положение аннотации, используя метод setBox DistanceAnnotation.
  • Добавьте созданную аннотацию расстояния к объекту Annotator.
  • Сохраните аннотированный PDF-файл, указав путь с помощью метода save.

В следующем примере кода показано, как добавить аннотацию расстояния в документ PDF с помощью Java.

// Аннотация расстояния с использованием Java
final Annotator annotator = new Annotator("document.pdf");
// Аннотация расстояния
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// добавить в документ
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

Полный код

Подводя итог, вот код Java с выводом, показывающим все добавленные аннотации и сообщения с ответами с использованием упомянутого кода Java.

Добавлены аннотации в PDF

Следующий ниже код добавляет стрелку, прямоугольник, эллипс, аннотации расстояния, сообщения и ответы в файл PDF.

// Добавьте несколько аннотаций в PDF с помощью Java
// Добавление аннотаций стрелки, области, овала (эллипса), расстояния в PDF с сообщениями и ответами с использованием Java
final Annotator annotator = new Annotator(Constants.INPUT);
// Настройка ответов
Reply reply1 = new Reply();
reply1.setComment("Please look in to these issues.");
reply1.setRepliedOn(Calendar.getInstance().getTime());

Reply reply2 = new Reply();
reply2.setComment("Change Description");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply3 = new Reply();
reply2.setComment("On-Premises APIs");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply4 = new Reply();
reply2.setComment("Add images as well.");
reply2.setRepliedOn(Calendar.getInstance().getTime());

java.util.List<Reply> replies = new ArrayList<Reply>();
replies.add(reply1);
replies.add(reply2);
replies.add(reply3);
replies.add(reply4);
// Аннотация со стрелкой =================================
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(560, 250, 60, -60));
arrow.setCreatedOn(Calendar.getInstance().getTime());
arrow.setMessage("This image is little upwards.");
arrow.setOpacity(0.7);
arrow.setPenColor(-3407872);
arrow.setPenWidth((byte) 2);
arrow.setReplies(replies.subList(0, 1));
// Аннотация области ===================================
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
area.setReplies(replies.subList(1, 2));
// Овальная или эллипсная аннотация ========================
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
ellipse.setCreatedOn(Calendar.getInstance().getTime());
ellipse.setMessage("Shows all the available Annotation APIs.");
ellipse.setOpacity(0.7);
ellipse.setPenColor(-16034924);
ellipse.setPenStyle(PenStyle.Dot);
ellipse.setPenWidth((byte) 3);
ellipse.setReplies(replies.subList(2, 3));
// Аннотация расстояния ===============================
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
distance.setCreatedOn(Calendar.getInstance().getTime());
distance.setMessage("This is the heading area");
distance.setOpacity(0.7);
distance.setPenColor(-21197);
distance.setPenStyle(PenStyle.Solid);
distance.setPenWidth((byte) 1);
distance.setReplies(replies.subList(3, 4));
// Добавление аннотаций =================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// Сохранение аннотированного PDF ===============================
annotator.save(outputPath);
annotator.dispose();

Удалить аннотации из PDF в Java

Следующие шаги показывают, как удалить все аннотации из файлов PDF в Java.

  • Загрузите документ PDF с помощью класса Annotator.
  • Инициализировать параметры сохранения с помощью класса SaveOptions.
  • Установите типы аннотаций на None.
  • Сохраните PDF-файл, удалив все аннотации, указав путь с помощью метода save.

Следующий код Java удаляет аннотации из файла PDF.

// Удалите все аннотации из документа PDF с помощью Java
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// Сохраните PDF без аннотаций.
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

Вывод

Короче говоря, вы узнали, как добавлять аннотации к PDF в приложениях Java. Кроме того, вы увидели, как удалить все аннотации из любого файла PDF. Теперь вы должны быть уверены в том, что сможете создать собственное Java-приложение для аннотирования документов. Он может поддерживать различные типы аннотаций, используя GroupDocs.Annotation для Java.

Дополнительные сведения, варианты и примеры можно найти в документации и в репозитории GitHub. Если у вас возникнут дополнительные вопросы, обратитесь в службу поддержки на форуме.

Смотрите также