Как добавить аннотации в PDF

Как добавить аннотации в PDF

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

В этом руководстве будут рассмотрены следующие моменты:

Java API для PDF — установка

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

 <repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <classifier>jdk17</classifier>
</dependency>

Как добавить аннотации в PDF

Теперь вы можете использовать методы этой библиотеки PDF для программной реализации добавления текстовых аннотаций в файл PDF.

Пожалуйста, следуйте фрагменту кода и шагам, указанным ниже:

  1. Создайте экземпляр класса Document и загрузите исходный файл PDF.
  2. Получить страницу по индексу, вызвав метод getItem.
  3. Инициализировать объект класса Rectangle, представляющий прямоугольник.
  4. Создайте новую текстовую аннотацию на указанной странице, создав объект класса TextAnnotation.
  5. Метод setTitle устанавливает текст, который будет отображаться в строке заголовка аннотации.
  6. Метод setSubject устанавливает текст, представляющий описание объекта.
  7. Метод setContents устанавливает текст аннотации.
  8. Создайте конструктор объекта Border с объектом textAnnotation.
  9. Установите ширину рамки и шаблона штриха, вызвав методы setWidth и setDash.
  10. Вызовите метод add, который добавляет аннотацию к коллекции.
  11. Метод save сохранит файл аннотации.

Скопируйте и вставьте следующий код в основной файл:

// Создайте экземпляр класса Document и загрузите исходный файл PDF.
Document document = new Document(  "table.pdf");
// Получить страницу по индексу, вызвав метод get_Item 
Page page = document.getPages().get_Item(1);
// Инициализируйте объект класса Rectangle, представляющий прямоугольник.
Rectangle rect = new Rectangle(200, 750, 400, 790);
// Создайте новую текстовую аннотацию на указанной странице, создав объект класса TextAnnotation. 
TextAnnotation textAnnotation = new TextAnnotation(page, rect);
// Метод setTitle устанавливает текст, который будет отображаться в строке заголовка аннотации. 
textAnnotation.setTitle("Aspose User");
// Метод setSubject устанавливает текст, представляющий описание объекта. 
textAnnotation.setSubject("Sample Subject");
// Метод setContents устанавливает текст аннотации. 
textAnnotation.setContents("Sample contents for the annotation");
textAnnotation.setOpen(true);
textAnnotation.setIcon(TextIcon.Circle);
// Создайте конструктор для объекта границы с объектом textAnnotation. 
Border border = new Border(textAnnotation);
// Установите ширину рамки и шаблона штриха, вызвав методы setWidth и setDash.  
border.setWidth(5);
border.setDash(new Dash(1, 1));
textAnnotation.setBorder(border);
textAnnotation.setRect(rect);
// Вызовите метод add, который добавляет аннотацию в коллекцию. 
page.getAnnotations().add(textAnnotation);
// Метод save сохранит файл аннотации. 
document.save(  "sample_textannot.pdf");

Вы можете увидеть результат на изображении ниже:

текстовая аннотация

Чтение текстовых аннотаций

Точно так же мы можем прочитать текстовые аннотации из существующего файла PDF, выполнив шаги, указанные ниже:

  1. Создайте экземпляр класса Document и загрузите исходный файл PDF.
  2. Вызовите метод getItem, чтобы получить страницу по индексу.
  3. Отфильтруйте аннотации с помощью AnnotationSelector.
  4. Вызовите метод accept, чтобы разрешить посетителю обрабатывать аннотацию.
  5. Вызовите метод getSelected, чтобы получить список выбранных объектов Annotation.
  6. Распечатайте результаты.

Скопируйте и вставьте следующий код в основной файл:

// создайте экземпляр класса Document и загрузите исходный файл PDF. 
Document document = new Document(  "sample_textannot.pdf");
// Вызовите метод get_Item, чтобы получить страницу по индексу, вызвав метод   
Page page = document.getPages().get_Item(1);
// Фильтр аннотаций с помощью AnnotationSelector 
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// Вызовите метод accept, чтобы принять посетителя для обработки аннотации. 
page.accept(annotationSelector);
//  Вызовите метод getSelected, чтобы получить список выбранных объектов Annotation. 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// распечатать результаты
for (Annotation fa : TextAnnotations) {
    System.out.println(fa.getRect());
}

Удалить текстовые аннотации

Кроме того, вы можете выполнить шаги и фрагмент кода, чтобы программно удалить текстовые аннотации:

  1. Создайте объект класса Document и загрузите исходный файл PDF.
  2. Отфильтруйте аннотации с помощью AnnotationSelector.
  3. Разрешите посетителю обработать аннотацию, вызвав метод accept.
  4. Вызовите метод getSelected, чтобы получить список выбранных объектов Annotation.
  5. Прокрутите все текстовые аннотации и удалите аннотации, вызвав метод delete.
  6. Вызовите метод save, чтобы сохранить файл.

Скопируйте и вставьте следующий код в основной файл:

// Создайте объект класса Document и загрузите исходный файл PDF. 
Document document = new Document(  "sample_textannot.pdf");
// Фильтр аннотаций с помощью AnnotationSelector 
Page page = document.getPages().get_Item(1);
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// Принимает посетителя для обработки аннотации, вызывая метод accept 
page.accept(annotationSelector);
// Вызовите метод getSelected, чтобы получить список выбранных объектов Annotation. 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// перебрать все текстовые аннотации
for (Annotation fa : TextAnnotations) {
    // Удалить аннотацию, вызвав метод удаления 
}
// Вызовите метод сохранения, чтобы сохранить файл 
document.save ( "sample_textannot_del.pdf");

Получить бесплатную лицензию

Вы можете воспользоваться бесплатной временной лицензией, чтобы попробовать API без ограничений на пробную версию.

Подведение итогов

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

Кроме того, мы рекомендуем вам следовать нашему Руководству по началу работы.

Наконец, conholdate.com пишет новые сообщения в блоге. Поэтому, пожалуйста, оставайтесь на связи для регулярных обновлений.

Задайте вопрос

Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.

Часто задаваемые вопросы

Могу ли я комментировать PDF бесплатно?

Посетите эту ссылка, чтобы ознакомиться с фрагментом кода и методами API, предоставляемыми Java API для PDF.

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