Thêm một định danh trực quan vào các tệp PDF là cần thiết để bảo vệ tài sản trí tuệ và thương hiệu tài liệu. GroupDocs.Watermark Cloud SDK for Java cung cấp một API đơn giản để nhúng watermark hình ảnh trực tiếp vào PDF từ ứng dụng Java của bạn. Trong hướng dẫn này, bạn sẽ học cách thêm watermark hình ảnh vào tài liệu PDF bằng Java, xem một ví dụ hoàn chỉnh hoạt động, và khám phá các lệnh cURL REST tương đương cho việc tích hợp đám mây.

Thêm Đánh Dấu Hình Ảnh vào Tài Liệu PDF trong Java trong 5 Bước

  1. Khởi tạo client API: Tạo một thể hiện ApiClient với ID client và secret của bạn.
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

Bước này kết nối mã Java của bạn với dịch vụ GroupDocs.Watermark Cloud. Xem tài liệu API để biết thêm chi tiết.

  1. Chỉ định tệp PDF nguồn: Tạo một đối tượng FileInfo trỏ tới tệp PDF mà bạn muốn thêm watermark.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");

Tệp phải được tải lên bộ nhớ GroupDocs của bạn trước khi gửi yêu cầu.

  1. Cấu hình watermark hình ảnh: Xác định đường dẫn hình ảnh, độ trong suốt, hệ số tỷ lệ, góc xoay và căn chỉnh.
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));

Điều chỉnh các giá trị này để đạt được giao diện mong muốn; độ trong suốt kiểm soát tính trong suốt, trong khi scaleFactor xác định kích thước tương đối so với trang.

  1. Đặt tùy chọn watermark và đường dẫn đầu ra: Kết hợp thông tin tệp và watermark vào một đối tượng WatermarkOptions.

    WatermarkOptions options = new WatermarkOptions();
    options.setFileInfo(fileInfo);
    options.setImageWatermark(imageWatermark);
    options.setOutputPath("output.pdf");
    

    outputPath cho biết dịch vụ sẽ lưu PDF kết quả ở đâu.

  2. Thực hiện yêu cầu: Xây dựng một AddWatermarkRequest và gọi API. Xử lý phản hồi thành công hoặc lỗi.

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());
}

Sau khi thực thi, tệp PDF đã được chèn watermark sẽ có sẵn tại vị trí bạn đã chỉ định.

Ví dụ mã hoàn chỉnh: Thêm hình mờ ảnh vào tài liệu PDF trong Java

Ví dụ sau đây trình bày việc triển khai đầy đủ từ khởi tạo client đến lưu PDF có watermark.

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();
        }
    }
}

Lưu ý: Ví dụ mã này trình bày chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật các đường dẫn tệp (input.pdf, watermark.png, output.pdf) để phù hợp với vị trí tệp thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Áp dụng Đánh dấu Hình ảnh cho Tài liệu PDF qua cURL và REST API

Dưới đây là các lệnh REST bạn có thể sử dụng với cURL để đạt được kết quả tương tự mà không cần viết mã Java.

  1. Lấy token truy cập
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"}'

Phản hồi chứa một access_token được sử dụng trong các cuộc gọi tiếp theo.

  1. Tải lên PDF nguồn
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"
  1. Tải lên hình watermark
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"
  1. Thêm watermark hình ảnh
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"
         }'

Yêu cầu này phản ánh logic mã Java, áp dụng cùng các thiết lập độ trong suốt, tỷ lệ và căn chỉnh.

  1. Tải xuống PDF có dấu watermark
    curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.pdf
    

Để biết thêm chi tiết về các phần thân yêu cầu và các tham số được hỗ trợ, xem tài liệu API chính thức.

Cài đặt và cấu hình GroupDocs.Watermark Cloud SDK for Java

Thêm phụ thuộc Maven vào pom.xml của bạn (hoặc đoạn mã Gradle tương đương). Thư viện được lưu trữ trên Maven Central.

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

Bạn cũng cần một tài khoản GroupDocs Cloud hợp lệ. Lấy Client IDClient Secret của bạn từ cổng GroupDocs. Không cần cài đặt runtime bổ sung vì SDK giao tiếp với dịch vụ đám mây.

Tinh chỉnh các tùy chọn dấu ảnh mờ cho tài liệu PDF

SDK cung cấp một số thuộc tính cho phép bạn kiểm soát giao diện trực quan của watermark.

Điều chỉnh độ trong suốt

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

Các giá trị độ trong suốt nằm trong khoảng từ 0.0 (hoàn toàn trong suốt) đến 1.0 (hoàn toàn mờ).

Thay đổi hệ số tỷ lệ

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

Hệ số tỷ lệ xác định kích thước watermark so với kích thước trang.

Đặt căn chỉnh và lề

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

Các cài đặt này đặt watermark ở góc dưới‑phải với lề 20 điểm.

Để xem danh sách đầy đủ các thuộc tính có thể cấu hình, hãy tham khảo tài liệu API.

Kết luận

Thêm một watermark hình ảnh vào tài liệu PDF trong Java là một nhiệm vụ đơn giản khi bạn sử dụng GroupDocs.Watermark Cloud SDK for Java. SDK xử lý tất cả các thao tác PDF cấp thấp, cho phép bạn tập trung vào các khía cạnh hình ảnh như độ trong suốt, tỷ lệ và vị trí. Cho dù bạn ưu tiên triển khai Java gốc hay quy trình làm việc dựa trên cloud bằng cURL, kết quả chất lượng cao vẫn có thể đạt được mà không làm giảm hiệu năng. Hãy nhớ lấy giấy phép phù hợp cho việc sử dụng trong môi trường sản xuất; chi tiết giá cả có sẵn trên trang sản phẩm và một trang giấy phép tạm thời có thể được sử dụng để đánh giá.

Câu hỏi thường gặp

  • Làm thế nào để thêm watermark hình ảnh vào PDF trong Java mà không làm mất chất lượng?
    Sử dụng thuộc tính scaleFactor để điều chỉnh kích thước watermark so với trang và giữ DPI gốc của PDF nguồn. SDK giữ nguyên độ phân giải của PDF, vì vậy watermark sẽ hiển thị sắc nét ở bất kỳ mức phóng đại nào.

  • Tôi có thể thêm nhiều watermark vào cùng một PDF không?
    Có. Tạo các đối tượng ImageWatermark riêng biệt với các cấu hình khác nhau và thêm chúng tuần tự bằng cách gọi addWatermark nhiều lần hoặc bằng cách thêm chúng vào một danh sách trong yêu cầu.

  • Các định dạng hình ảnh được hỗ trợ cho watermark là gì?
    API chấp nhận các loại hình ảnh phổ biến như PNG, JPG, BMP, GIF và TIFF. PNG được khuyến nghị vì chất lượng không mất dữ liệu và hỗ trợ trong suốt.

  • Có cách nào để xem trước watermark trước khi áp dụng không?
    Bạn có thể sử dụng GroupDocs.Watermark Cloud SDK for Java để tạo một PDF tạm thời có watermark và tải xuống để xem xét. Điều này sử dụng cùng một lời gọi addWatermark với đường dẫn đầu ra chỉ tới vị trí tạm thời.

Đọc thêm