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

Программное удаление водяных знаков из файлов PDF.

Java API для удаления водяных знаков PDF

GroupDocs.Watermark предоставляет Java API для работы с водяными знаками в документах и изображениях различных форматов файлов. Если вы создаете приложение для удаления водяных знаков, оно предоставляет вам несколько полезных способов:

  • Удалить все водяные знаки из документа PDF
  • Удалить водяные знаки гиперссылок
  • Удалить водяные знаки с определенным форматированием текста

Давайте узнаем, как Java-разработчик может удалить водяные знаки из PDF с помощью GroupDocs.Watermark for Java API различными способами. Прежде всего, загрузите и настройте API для своего приложения.

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

Вы можете загрузить файл JAR из раздела загрузки или использовать последний репозиторий и конфигурации зависимостей Maven в своих приложениях Java.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-watermark</artifactId>
        <version>21.3</version> 
</dependency>

Удалить все водяные знаки из файлов PDF в Java

API дает вам возможность легко найти, а затем удалить определенный водяной знак и все водяные знаки из документа. Следующие шаги показывают, как удалить все водяные знаки из документа PDF в Java.

  • Загрузите документ PDF, используя Водяной маркер.
  • Получить все возможные водяные знаки в виде коллекции с помощью поиска.
  • Пройдитесь по всей коллекции и удалите все водяные знаки или те, которые соответствуют критерию.
  • Сохраните обновленный PDF без водяных знаков.

Следующий код Java удаляет все водяные знаки из документа PDF.

// Удалите водяные знаки из PDF и других документов на Java
Watermarker watermarker = new Watermarker("filepath/document-with-watermarks.pdf");

PossibleWatermarkCollection possibleWatermarks = watermarker.search();
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    // Удалите все водяные знаки, указав индекс в документе.
    possibleWatermarks.removeAt(i);
}
watermarker.save("filepath/no-watermarks.pdf");
watermarker.close();

Удалить водяной знак гиперссылки в Java

API водяных знаков позволяет искать и удалять гиперссылки из документа PDF. Следующие шаги позволяют удалить водяные знаки гиперссылок из документа PDF в приложении Java.

  • Загрузите файл PDF, используя Водяной маркер.
  • Получить возможные водяные знаки как коллекцию с помощью поиска.
  • Просмотрите коллекцию и удалите водяные знаки, соответствующие критерию.
  • Сохраните обновленный PDF-файл без водяных знаков.

В следующем примере кода Java показано, как найти и удалить водяные знаки гиперссылок с определенным URL-адресом из документа PDF.

// Удалить водяные знаки гиперссылки из PDF в Java
Watermarker watermarker = new Watermarker("path/watermark-document.pdf");

PossibleWatermarkCollection watermarks = watermarker.search(new TextSearchCriteria(Pattern.compile("someurl.com")));
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    if (HyperlinkPossibleWatermark.class.isInstance(watermarks.get_Item(i)))
    {
        System.out.println(watermarks.get_Item(i).getText());
        watermarks.removeAt(i);
    }
}
watermarker.save("path/no-hyperlink-watermarks.pdf");

Удалить водяной знак из PDF с определенным форматированием текста в Java

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

  • Загрузите файл PDF, используя Водяной маркер.
  • Установите критерий поиска, используя TextFormattingSearchCriteria.
  • Предоставьте все необходимые свойства форматирования.
  • Найдите и получите все возможные водяные знаки в виде коллекции, указав определенные критерии.
  • Удалите все найденные водяные знаки с помощью метода clear().
  • Сохраните обновленный PDF-файл без водяного знака с заданными свойствами.

Следующий код Java удаляет водяные знаки в документе PDF с указанным форматированием текста.

// Удалите водяные знаки с определенным форматированием текста из PDF в Java
Watermarker watermarker = new Watermarker("path/watermarks.pdf");

TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setForegroundColorRange(new ColorRange());
criteria.getForegroundColorRange().setMinHue(-5);
criteria.getForegroundColorRange().setMaxHue(10);
criteria.getForegroundColorRange().setMinBrightness(0.01f);
criteria.getForegroundColorRange().setMaxBrightness(0.99f);
criteria.setBackgroundColorRange(new ColorRange());
criteria.getBackgroundColorRange().setEmpty(true);
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(true);

PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();
watermarker.save("path/removed-watermarks.pdf");
watermarker.close();

Вывод

Подводя итог, мы узнали, как удалять различные водяные знаки из PDF-документов на Java. Мы специально удалили все наложенные водяные знаки, затем удалили водяные знаки гиперссылок и водяные знаки с определенным форматированием текста. Попробуйте создать собственное Java-приложение для поиска и удаления водяных знаков из PDF-документов. Кроме того, вы можете узнать больше о GroupDocs.Watermark for Java из его документации. По вопросам обращайтесь к нам через форум.

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