Додавання візуального ідентифікатора до файлів PDF є важливим для захисту інтелектуальної власності та брендування документів. GroupDocs.Watermark Cloud SDK for Java пропонує простий API для вбудовування зображень‑водяних знаків безпосередньо у PDF‑файли з вашого Java‑застосунку. У цьому підручнику ви дізнаєтеся, як додати зображення‑водяний знак до PDF‑документів у Java, переглянете повний робочий приклад і ознайомитеся з еквівалентними викликами cURL REST для інтеграції з хмарою.

Додати зображення водяного знака до PDF‑документів у Java за 5 кроків

  1. Ініціалізуйте API‑клієнт: Створіть екземпляр ApiClient з вашим client ID та secret.
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

Цей крок підключає ваш Java‑код до сервісу GroupDocs.Watermark Cloud. Перегляньте API reference для отримання додаткової інформації.

  1. Вкажіть вихідний PDF‑файл: Створіть об’єкт FileInfo, який вказує на PDF, який ви хочете додати водяний знак.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");

Файл має бути завантажений у ваше сховище GroupDocs перед запитом.

  1. Налаштуйте водяний знак зображення: визначте шлях до зображення, прозорість, коефіцієнт масштабування, обертання та вирівнювання.
ImageWatermark imageWatermark = new ImageWatermark();
imageWatermark.setImagePath("watermark.png");
imageWatermark.setOpacity(0.5);
imageWatermark.setScaleFactor(0.3);
imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
imageWatermark.setMargin(new Margin(10, 10, 10, 10));

Налаштуйте ці значення, щоб досягти бажаного вигляду: прозорість контролює прозорість, а scaleFactor визначає розмір відносно сторінки.

  1. Встановити параметри водяного знака та шлях виводу: Об’єднайте інформацію про файл та водяний знак у об’єкт WatermarkOptions.
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);
options.setImageWatermark(imageWatermark);
options.setOutputPath("output.pdf");

Параметр outputPath вказує сервісу, куди зберігати отриманий PDF.

  1. Виконати запит: Створіть AddWatermarkRequest і викличте API. Обробіть успішні або помилкові відповіді.
AddWatermarkRequest request = new AddWatermarkRequest(options);
try {
    AddWatermarkResponse response = watermarkApi.addWatermark(request);
    System.out.println("Watermark added successfully. Output file: " + response.getPath());
} catch (Exception e) {
    System.err.println("Error adding watermark: " + e.getMessage());
}

Після виконання PDF з водяним знаком доступний у вказаному вами місці.

Повний приклад коду: Додати зображення водяного знака до PDF‑документів у Java

Наступний приклад демонструє повну реалізацію від ініціалізації клієнта до збереження PDF з водяним знаком.

import com.groupdocs.cloud.watermark.api.WatermarkApi;
import com.groupdocs.cloud.watermark.client.ApiClient;
import com.groupdocs.cloud.watermark.model.AddWatermarkRequest;
import com.groupdocs.cloud.watermark.model.AddWatermarkResponse;
import com.groupdocs.cloud.watermark.model.FileInfo;
import com.groupdocs.cloud.watermark.model.ImageWatermark;
import com.groupdocs.cloud.watermark.model.Margin;
import com.groupdocs.cloud.watermark.model.WatermarkOptions;
import com.groupdocs.cloud.watermark.model.enums.HorizontalAlignment;
import com.groupdocs.cloud.watermark.model.enums.VerticalAlignment;

public class AddImageWatermarkExample {
    public static void main(String[] args) {
        // Initialize API client (replace with your actual credentials)
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        WatermarkApi watermarkApi = new WatermarkApi(apiClient);

// Input PDF file information
        FileInfo fileInfo = new FileInfo();
        fileInfo.setFilePath("input.pdf");

// Image watermark configuration
        ImageWatermark imageWatermark = new ImageWatermark();
        imageWatermark.setImagePath("watermark.png");          // Path to watermark image
        imageWatermark.setOpacity(0.5);                        // 50% opacity
        imageWatermark.setScaleFactor(0.3);                    // 30% of page size
        imageWatermark.setRotationAngle(0);                    // No rotation
        imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
        imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
        imageWatermark.setMargin(new Margin(10, 10, 10, 10));  // 10 points margin on all sides

// Watermark options
        WatermarkOptions options = new WatermarkOptions();
        options.setFileInfo(fileInfo);
        options.setImageWatermark(imageWatermark);
        options.setOutputPath("output.pdf"); // Resulting PDF with watermark

// Create request and call API
        AddWatermarkRequest request = new AddWatermarkRequest(options);
        try {
            AddWatermarkResponse response = watermarkApi.addWatermark(request);
            System.out.println("Watermark added successfully. Output file: " + response.getPath());
        } catch (Exception e) {
            System.err.println("Error adding watermark: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Примітка: Цей приклад коду демонструє основну функціональність. Перш ніж використовувати його у вашому проєкті, переконайтеся, що оновили шляхи до файлів (input.pdf, watermark.png, output.pdf) відповідно до фактичних розташувань, перевірте, що всі необхідні залежності встановлені правильно, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь-якими проблемами, будь ласка, зверніться до офіційної документації або зв’яжіться з командою підтримки для отримання допомоги.

Застосувати зображення водяного знака до PDF-документів за допомогою cURL та REST API

Нижче наведено REST‑виклики, які ви можете використати за допомогою cURL, щоб досягти того ж результату без написання коду Java.

  1. Отримати токен доступу
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

Відповідь містить access_token, який використовується в подальших викликах.

  1. Завантажте вихідний PDF

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=input.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/input.pdf"
    
  2. Завантажте зображення водяного знака

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=watermark.png" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/watermark.png"
    
  3. Додати зображення водяного знака

curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/add" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.pdf" },
           "imageWatermark": {
               "imagePath": "watermark.png",
               "opacity": 0.5,
               "scaleFactor": 0.3,
               "horizontalAlignment": "Center",
               "verticalAlignment": "Center",
               "margin": { "top": 10, "right": 10, "bottom": 10, "left": 10 }
           },
           "outputPath": "output.pdf"
         }'

Цей запит повторює логіку коду Java, застосовуючи ті ж налаштування прозорості, масштабування та вирівнювання.

  1. Завантажте PDF з водяним знаком
    curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.pdf
    

Для отримання докладнішої інформації про тіла запитів та підтримувані параметри, перегляньте офіційну документацію API.

Встановлення та налаштування GroupDocs.Watermark Cloud SDK для Java

Додайте залежність Maven у ваш файл pom.xml (або відповідний фрагмент Gradle). Бібліотека розміщена в Maven Central.

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-watermark-cloud</artifactId>
    <version>23.8</version>
</dependency>

Ви також потребуєте дійсний обліковий запис GroupDocs Cloud. Отримайте ваш Client ID та Client Secret з порталу GroupDocs. Додаткова установка під час виконання не потрібна, оскільки SDK спілкується з хмарним сервісом.

Тонке налаштування параметрів водяного знака зображення для PDF‑документів

SDK надає кілька властивостей, які дозволяють керувати візуальним виглядом водяного знака.

Налаштувати прозорість

imageWatermark.setOpacity(0.75); // 75% opacity for a more visible watermark

Значення прозорості варіюються від 0.0 (повністю прозорий) до 1.0 (повністю непрозорий).

Змінити коефіцієнт масштабу

imageWatermark.setScaleFactor(0.5); // Watermark occupies 50% of the page width

Коефіцієнт масштабу визначає розмір водяного знака відносно розмірів сторінки.

Встановити вирівнювання та поля

imageWatermark.setHorizontalAlignment(HorizontalAlignment.RIGHT);
imageWatermark.setVerticalAlignment(VerticalAlignment.BOTTOM);
imageWatermark.setMargin(new Margin(20, 20, 20, 20));

Ці налаштування розміщують водяний знак у нижньому правому куті з відступом у 20 пунктів.

Для повного списку налаштовуваних властивостей зверніться до довідки API.

Висновок

Додавання зображення водяного знака до PDF‑документів у Java — це проста задача, коли ви використовуєте GroupDocs.Watermark Cloud SDK for Java. SDK виконує всю низькорівневу маніпуляцію PDF, дозволяючи зосередитися на візуальних аспектах, таких як прозорість, масштабування та позиціонування. Незалежно від того, чи віддаєте перевагу нативній реалізації на Java, чи хмарному робочому процесу з cURL, можна досягти однакових високоякісних результатів без втрати продуктивності. Пам’ятайте, що для використання у продакшн‑середовищі необхідно отримати відповідну ліцензію; деталі ціноутворення доступні на сторінці продукту, а сторінка тимчасової ліцензії можна використати для оцінки.

FAQs

  • Як додати водяний знак зображення до PDF у Java без втрати якості?
    Використовуйте властивість scaleFactor, щоб задати розмір водяного знака відносно сторінки та зберегти оригінальну DPI вихідного PDF. SDK зберігає роздільну здатність PDF, тому водяний знак виглядає чітко при будь‑якому рівні збільшення.

  • Чи можу я додати кілька водяних знаків до одного PDF?
    Так. Створіть окремі об’єкти ImageWatermark з різними налаштуваннями та додавайте їх послідовно, викликаючи addWatermark кілька разів або додаючи їх у список у запиті.

  • Які формати зображень підтримуються для водяного знака?
    API приймає поширені типи зображень, такі як PNG, JPG, BMP, GIF та TIFF. PNG рекомендується для без втрат якості та підтримки прозорості.

  • Чи є спосіб переглянути водяний знак перед його застосуванням?
    Ви можете використати GroupDocs.Watermark Cloud SDK for Java, щоб створити тимчасовий PDF з водяним знаком і завантажити його для перегляду. Це використовує той самий виклик addWatermark з шляхом виводу, що вказує на тимчасове розташування.

Читати далі