Как добавить водяной знак в документы Excel с помощью GroupDocs.Watermark Java

Введение

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

Быстрые ответы

  • Какую библиотеку я могу использовать для добавления водяного знака в Excel? GroupDocs.Watermark for Java.
  • Можно ли извлекать изображения из Excel с тем же API? Да — вы можете напрямую читать изображения фигур.
  • Нужна ли лицензия для использования в продакшене? Требуется коммерческая лицензия; доступна бесплатная пробная версия.
  • Какая версия Java поддерживается? JDK 8 или выше.
  • Является ли Maven единственным способом добавить библиотеку? Нет, вы также можете скачать JAR вручную.

Что такое «как добавить водяной знак в Excel»?

Добавление водяного знака в Excel означает программное наложение текста, изображения или фигуры на книгу Excel так, чтобы водяной знак отображался на каждом печатном или просматриваемом листе. Это защищает интеллектуальную собственность и указывает статус документа (например, черновик, конфиденциальный).

Почему использовать GroupDocs.Watermark для Excel?

  • Полнофункциональный API — работает с .xlsx, .xls и даже более старыми форматами.
  • Отсутствие зависимости от Microsoft Office — работает в любой серверной среде Java.
  • Встроенная работа с фигурами — позволяет читать, изменять или извлекать изображения из листов Excel.
  • Оптимизированная производительность — обрабатывает большие книги с минимальным потреблением памяти.

Предварительные требования

  • Установлен JDK 8 или новее.
  • Maven (или ручное управление JAR) для управления зависимостями.
  • Базовые знания программирования на Java.

Требуемые библиотеки и зависимости

Включите GroupDocs.Watermark как зависимость в ваш проект. Вы можете добавить её через Maven или скачать напрямую:

Maven

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/watermark/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-watermark</artifactId>
      <version>24.11</version>
   </dependency>
</dependencies>

Direct Download
Либо скачайте последнюю версию с GroupDocs.Watermark for Java releases.

Требования к настройке окружения

  • Убедитесь, что установлен и настроен JDK 8 или выше.
  • Maven должен быть настроен, если вы предпочитаете управление зависимостями.

Требования к знаниям

  • Базовое понимание программирования на Java.
  • Знакомство с работой с файлами в Java.

Настройка GroupDocs.Watermark для Java

Для начала необходимо установить библиотеку либо через Maven, либо скачав её напрямую с официального сайта. GroupDocs предоставляет бесплатную пробную версию для тестирования функций, а лицензии доступны для расширенного использования:

  • Free Trial — ограниченные возможности, идеально подходит для оценки.
  • Temporary License — разблокирует все функции на короткий период.
  • Purchase License — требуется для коммерческих развертываний.

После установки инициализируйте её следующим образом для работы с документами Excel:

Как добавить водяной знак в Excel

В этом разделе рассматривается загрузка таблицы, извлечение изображений (или любой фигуры) и подготовка к наложению водяного знака.

Функция 1: Загрузка и доступ к содержимому таблицы

Шаг 1: Определите параметры загрузки для таблицы

SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
  • Purpose: Настраивает конкретные параметры, необходимые при загрузке таблиц.

Шаг 2: Инициализируйте Watermarker с путем к вашему документу

Замените "YOUR_DOCUMENT_DIRECTORY/spreadsheet.xlsx" на фактический путь к вашему файлу.

Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/spreadsheet.xlsx", loadOptions);
  • Explanation: Создаёт экземпляр Watermarker, который предоставляет полный контроль над книгой.

Шаг 3: Доступ к содержимому таблицы

SpreadsheetContent content = watermarker.getContent(SpreadsheetContent.class);
  • Functionality: Получает богатую объектную модель, представляющую листы, ячейки и фигуры.

Функция 2: Извлечение изображений из Excel (Фигуры)

Обзор

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

Шаг 4: Перебор каждого листа

for (SpreadsheetWorksheet worksheet : content.getWorksheets()) {
  • Purpose: Проходит по всем листам для доступа к отдельным фигурам.

Шаг 5: Перебор каждой фигуры внутри листа

for (SpreadsheetShape shape : worksheet.getShapes()) {
    // Display various properties of the shape
    System.out.println(shape.getAutoShapeType());
    System.out.println(shape.getMsoDrawingType());
    System.out.println(shape.getText());

    if (shape.getImage() != null) {
        System.out.println(shape.getImage().getWidth());
        System.out.println(shape.getImage().getHeight());
        System.out.println(shape.getImage().getBytes().length);
    }

    // Display other properties of the shape
    System.out.println(shape.getId());
    System.out.println(shape.getAlternativeText());
    System.out.println(shape.getX());
    System.out.println(shape.getY());
    System.out.println(shape.getWidth());
    System.out.println(shape.getHeight());
    System.out.println(shape.getRotateAngle());
    System.out.println(shape.isWordArt());
    System.out.println(shape.getName());
}
  • Explanation: Извлекает подробную информацию о фигуре, включая тип, текстовое содержимое и атрибуты изображения, если они доступны. Здесь вы можете извлекать изображения из Excel для дальнейшей обработки или архивирования.

Шаг 6: Закрытие экземпляра Watermarker

watermarker.close();
  • Significance: Освобождает ресурсы, закрывая экземпляр Watermarker после завершения операций.

Практические применения

Эти возможности могут быть применены в реальных сценариях:

  1. Document Automation — Автоматически извлекать и обрабатывать данные из отчетов Excel для оптимизации рабочих процессов.
  2. Data Integrity Checks — Проверять фигуры и встроенные изображения в финансовых таблицах на соответствие требованиям.
  3. Integration with BI Tools — Передавать извлечённые данные фигур в платформы бизнес‑аналитики для более глубокого анализа.

Соображения по производительности

При работе с большими файлами Excel:

  • Обрабатывайте только необходимые листы или фигуры, чтобы снизить использование памяти.
  • Если вам нужно только извлекать изображения из Excel, пропустите ячейки и формулы.
  • Тестируйте в условиях реальной нагрузки и профилируйте код для выявления узких мест.

Заключение

Освоив эти возможности GroupDocs.Watermark для Java, вы сможете эффективно добавлять водяные знаки в Excel книги, извлекать встроенные изображения и интегрировать работу с Excel в более крупные автоматизированные конвейеры. Исследуйте дополнительные функции, такие как добавление текстовых водяных знаков, их вращение или условное применение в зависимости от содержимого листов.

Следующие шаги

  • Погрузитесь в API водяных знаков, чтобы добавлять пользовательские текстовые или изображённые водяные знаки.
  • Сочетайте извлечение фигур с OCR для чтения текста внутри изображений.
  • Исследуйте GroupDocs SDK для PDF, Word и форматов изображений, чтобы построить единое решение по обработке документов.

Раздел FAQ

  1. Что такое GroupDocs.Watermark?
    • Мощная Java-библиотека для работы с водяными знаками и другим содержимым в документах.
  2. Могу ли я использовать GroupDocs.Watermark с другими типами файлов?
    • Да, поддерживает PDF, изображения, файлы Word и многое другое.
  3. Как решать распространённые проблемы?
    • Проверьте официальный GroupDocs forums для поддержки или обратитесь к документации.
  4. Каковы лучшие практики использования GroupDocs.Watermark?
    • Всегда закрывайте экземпляры Watermarker, обрабатывайте только необходимые листы и контролируйте использование памяти при работе с большими файлами.
  5. Где я могу найти больше примеров?
    • GitHub repository предоставляет многочисленные образцы кода и проекты.

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

Q: Как добавить текстовый водяной знак на каждый лист в книге Excel?
A: После загрузки книги создайте объект TextWatermark и вызовите watermarker.add(watermark, new SpreadsheetWatermarkOptions()) для каждого листа.

Q: Можно ли извлекать только PNG‑изображения из файла Excel?
A: Да. Проверьте shape.getImage().getBytes() и определите формат изображения через shape.getImage().getImageFormat() перед обработкой.

Q: Можно ли применить водяной знак только к листам, содержащим определённое ключевое слово?
A: Конечно. Перебирайте content.getWorksheets(), проверяйте значения ячеек и условно вызывайте watermarker.add(...) для соответствующих листов.

Q: Поддерживает ли библиотека Excel‑файлы, защищённые паролем?
A: Да. Перед созданием Watermarker передайте пароль в SpreadsheetLoadOptions с помощью setPassword("yourPassword").

Q: Какая версия GroupDocs.Watermark используется в этом руководстве?
A: Примеры ориентированы на GroupDocs.Watermark 24.11.

Ресурсы


Последнее обновление: 2026-04-01
Тестировано с: GroupDocs.Watermark 24.11 for Java
Автор: GroupDocs

{< /blocks/products/pf/tutorial-page-section >} {< /blocks/products/pf/main-container >} {< /blocks/products/pf/main-wrap-class >} {< blocks/products/products-backtop-button >}