Thêm watermark vào pdf với GroupDocs.Watermark cho Java

Trong hướng dẫn này, bạn sẽ học cách thêm watermark vào pdf bằng cách sử dụng GroupDocs.Watermark Java SDK. Chúng tôi sẽ hướng dẫn cách tải tài liệu từ đĩa, luồng, hoặc các nguồn được bảo vệ bằng mật khẩu, áp dụng watermark dạng văn bản hoặc hình ảnh, và cuối cùng lưu PDF đã cập nhật. Dù bạn đang xây dựng một bộ xử lý hàng loạt hay một dịch vụ xử lý tệp đơn, các bước này sẽ cung cấp cho bạn một giải pháp đáng tin cậy, sẵn sàng cho môi trường sản xuất.

Câu trả lời nhanh

  • Tôi có thể thêm watermark vào PDF được bảo vệ bằng mật khẩu không? Có – truyền mật khẩu khi tải tài liệu, sau đó áp dụng watermark như bình thường.
  • Các định dạng nào có thể được watermark? Hơn 30 định dạng, bao gồm PDF, DOCX, PPTX và hình ảnh.
  • Tôi có cần giấy phép cho việc phát triển không? Giấy phép tạm thời hoạt động cho việc thử nghiệm; giấy phép đầy đủ cần thiết cho môi trường sản xuất.
  • Phiên bản Java nào được yêu cầu? Java 8 trở lên được hỗ trợ.
  • Có hỗ trợ streaming không? Chắc chắn – bạn có thể tải từ InputStream và lưu vào OutputStream mà không cần chạm vào hệ thống tệp.

Thêm watermark vào pdf là gì?

Thêm watermark vào pdf đề cập đến quá trình chồng lên văn bản hoặc hình ảnh bán trong suốt lên mỗi trang của tài liệu PDF để truyền đạt quyền sở hữu, tính bảo mật hoặc thương hiệu. GroupDocs.Watermark cho Java cung cấp API một lần gọi duy nhất, tự động xử lý vị trí, độ trong suốt và lựa chọn phạm vi trang.

Tại sao nên sử dụng GroupDocs.Watermark cho Java?

GroupDocs.Watermark hỗ trợ hơn 35 định dạng tệp và có thể xử lý PDF 500 trang trong vòng dưới 2 giây trên một CPU máy chủ tiêu chuẩn. Thư viện hoạt động hoàn toàn trong bộ nhớ, vì vậy bạn không bao giờ cần cài đặt Microsoft Office hay Adobe Acrobat. API của nó an toàn với đa luồng, làm cho nó trở nên lý tưởng cho các dịch vụ web có lưu lượng cao.

Yêu cầu trước

  • Java 8 hoặc mới hơn đã được cài đặt.
  • Dự án Maven hoặc Gradle được cấu hình với phụ thuộc groupdocs-watermark.
  • Giấy phép GroupDocs.Watermark hợp lệ (giấy phép tạm thời để đánh giá).
  • Các tệp PDF bạn muốn bảo vệ, tùy chọn có mật khẩu.

Cách thêm watermark vào pdf – từng bước

Tải tài liệu nguồn, áp dụng watermark, sau đó lưu kết quả. Các phần sau trả lời từng nhiệm vụ phụ một cách trực tiếp.

Cách tải tài liệu từ đĩa?

Watermarker là lớp chính được sử dụng để tải và thao tác tài liệu cho việc watermark. Cung cấp đường dẫn đầy đủ tới hàm khởi tạo Watermarker; SDK sẽ tự động phát hiện định dạng tệp, xác thực nội dung và tải tài liệu vào bộ nhớ sẵn sàng cho bất kỳ thao tác watermark nào. Cách tiếp cận này hoạt động cho PDF, tệp Word, hình ảnh và nhiều loại được hỗ trợ khác.

Watermarker watermarker = new Watermarker("C:/files/input.pdf");

Sau dòng này, PDF đã được tải đầy đủ vào bộ nhớ, sẵn sàng cho bất kỳ thao tác watermark nào.

Cách tải tài liệu từ luồng?

Watermarker cũng có thể chấp nhận một InputStream để tải tài liệu trực tiếp từ bộ nhớ. Khi bạn nhận tệp qua HTTP hoặc hàng đợi tin nhắn, bọc mảng byte trong một ByteArrayInputStream và truyền nó vào hàm khởi tạo Watermarker nhận InputStream. SDK đọc luồng mà không ghi ra đĩa, bảo vệ hiệu năng và bảo mật, và hỗ trợ các tệp lớn bằng cách xử lý dữ liệu theo khối. Phương pháp này lý tưởng cho các dịch vụ web và kiến trúc micro‑service.

InputStream pdfStream = new ByteArrayInputStream(pdfBytes);
Watermarker watermarker = new Watermarker(pdfStream);

SDK đọc luồng mà không ghi ra đĩa, bảo vệ hiệu năng và bảo mật.

Cách tải tài liệu được bảo vệ bằng mật khẩu?

Watermarker hỗ trợ tải PDF được bảo vệ bằng mật khẩu bằng cách cung cấp mật khẩu như đối số thứ hai. Cung cấp mật khẩu như đối số thứ hai cho hàm khởi tạo. SDK giải mã PDF ngay lập tức, sau đó bạn có thể xử lý nó như bất kỳ tài liệu nào khác. Nếu mật khẩu đúng, tất cả các trang sẽ có thể được watermark; nếu không, thư viện sẽ ném ra một ngoại lệ rõ ràng mà bạn có thể bắt và ghi log để khắc phục.

Watermarker watermarker = new Watermarker("C:/files/secure.pdf", "mySecretPwd");

Nếu mật khẩu không đúng, SDK sẽ ném ra một ngoại lệ thông tin mà bạn có thể bắt và ghi log.

Cách áp dụng watermark dạng văn bản?

TextWatermark đại diện cho một watermark dạng văn bản có thể được áp dụng lên các trang với kiểu tùy chỉnh. Tạo một đối tượng TextWatermark với văn bản, phông chữ, kích thước và màu sắc mong muốn. Sau đó gọi add trên thể hiện Watermarker, tùy chọn chỉ định phạm vi trang. Watermark được vẽ với độ trong suốt và góc quay đã chỉ định, và có thể được đặt vị trí bằng các vị trí định sẵn hoặc tọa độ tùy chỉnh, đảm bảo giao diện nhất quán trên mọi trang.

TextWatermark watermark = new TextWatermark("Confidential", new Font("Arial", 36));
watermark.setColor(Color.RED);
watermark.setTransparency(0.5);
watermarker.add(watermark);

Lệnh này đặt watermark trên mọi trang theo mặc định; bạn có thể giới hạn nó bằng new PageRange(1, 5) nếu cần.

Cách áp dụng watermark dạng hình ảnh?

ImageWatermark đại diện cho một watermark dựa trên hình ảnh như logo hoặc con dấu. Tạo một ImageWatermark với đường dẫn hoặc luồng của logo, sau đó thêm nó tương tự như watermark văn bản. SDK tự động thu phóng hình ảnh để vừa với trang trong khi giữ tỷ lệ khung hình, và bạn có thể điều chỉnh độ trong suốt, góc quay và vị trí để đạt hiệu quả hình ảnh mong muốn mà không làm biến dạng nội dung gốc.

ImageWatermark imgWatermark = new ImageWatermark("C:/images/logo.png");
imgWatermark.setTransparency(0.3);
watermarker.add(imgWatermark);

SDK thu phóng hình ảnh để vừa với trang trong khi giữ tỷ lệ khung hình.

Cách lưu tài liệu đã watermark?

save ghi tài liệu đã chỉnh sửa vào vị trí chỉ định với định dạng đã chọn. Gọi save với đường dẫn đầu ra và định dạng mong muốn. Khi bạn bỏ qua tham số định dạng, sẽ sử dụng cùng định dạng với nguồn. Phương thức này ghi PDF đã chỉnh sửa vào đĩa, giữ nguyên mọi nội dung gốc ngoại trừ các lớp watermark mới được thêm, và hỗ trợ lưu vào luồng để xử lý tiếp.

watermarker.save("C:/files/output.pdf");

Phương thức này ghi PDF đã chỉnh sửa vào đĩa, giữ nguyên mọi nội dung gốc ngoại trừ các lớp watermark mới được thêm.

Các hướng dẫn có sẵn

Cách tải tài liệu được bảo vệ bằng mật khẩu trong Java bằng GroupDocs.Watermark

Tìm hiểu cách tải và quản lý watermark trong tài liệu được bảo vệ bằng mật khẩu bằng cách sử dụng GroupDocs.Watermark cho Java. Hướng dẫn này cung cấp các bước hướng dẫn chi tiết, ví dụ thực tế và mẹo khắc phục sự cố.

Cách tải và watermark tài liệu Word được bảo vệ bằng mật khẩu bằng GroupDocs.Watermark trong Java

Tìm hiểu cách sử dụng GroupDocs.Watermark với Java để tải, quản lý và watermark tài liệu Word được bảo vệ bằng mật khẩu một cách hiệu quả.

Tài nguyên bổ sung

Các vấn đề thường gặp và giải pháp

  • Lỗi mật khẩu không hợp lệ – kiểm tra lại chuỗi mật khẩu; nó phải được mã hoá UTF‑8.
  • Thiếu bộ nhớ khi xử lý PDF lớn – bật chế độ streaming bằng cách sử dụng các hàm khởi tạo Watermarker chấp nhận InputStream và OutputStream.
  • Watermark không hiển thị – đảm bảo độ trong suốt của watermark được đặt trên 0.1 và màu sắc tương phản với nền trang.

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

Q: Tôi có thể thêm nhiều watermark vào cùng một PDF không?
A: Có. Gọi watermarker.add() nhiều lần với các đối tượng TextWatermark hoặc ImageWatermark khác nhau; mỗi watermark sẽ được xếp lớp theo thứ tự thêm.

Q: Thư viện có giữ nguyên các chú thích hiện có không?
A: Hoàn toàn. Tất cả các đối tượng PDF gốc, bao gồm chú thích, trường biểu mẫu và siêu dữ liệu, vẫn không bị thay đổi trừ khi bạn tự ý chỉnh sửa chúng.

Q: Có thể watermark chỉ các trang được chọn không?
A: Có. Truyền một PageRange (ví dụ, new PageRange(2, 4)) vào phương thức add để giới hạn watermark chỉ trên các trang cụ thể.

Q: Kích thước tệp tối đa được hỗ trợ là bao nhiêu?
A: SDK có thể xử lý các tệp lên tới 2 GB mà không cần tải toàn bộ tài liệu vào bộ nhớ, nhờ kiến trúc streaming.

Q: Làm thế nào để xóa một watermark sau khi đã thêm?
A: Sử dụng watermarker.remove(watermarkId) trong đó watermarkId là định danh được trả về khi bạn lần đầu thêm watermark.


Cập nhật lần cuối: 2026-09-16
Đã kiểm tra với: GroupDocs.Watermark 23.9 cho Java
Tác giả: GroupDocs

Hướng dẫn liên quan