Đã có lúc chúng tôi thường thảo luận về nội dung tài liệu và phản hồi trong các chuỗi email dài với nhiều tệp đính kèm và các phiên bản tệp khác nhau. Giờ đây, chúng ta có thể chỉ cần sử dụng các chú thích để đánh dấu tài liệu bằng các tin nhắn và trả lời rồi gửi đi. Trong bài viết này, bạn sẽ học cách lập trình chú thích tài liệu PDF bằng Java với ứng dụng của mình. Ngoài ra, chúng ta sẽ xem cách xóa chú thích khỏi tệp PDF bằng cách sử dụng cùng một API Java.

Sau đây là các chủ đề được thảo luận ngắn gọn dưới đây:

Trình chú thích PDF Java API

Để xử lý các chú thích của tài liệu và hình ảnh trong các ứng dụng Java của bạn, GroupDocs cung cấp GroupDocs.Annotation for Java. Sử dụng API, bạn có thể thêm, xóa và trích xuất chú thích từ tài liệu soạn thảo văn bản, bảng tính, bản trình bày, hình ảnh, email, bản vẽ Visio, một số AutoCAD và định dạng hình ảnh kỹ thuật số như DICOM. Hơn nữa, API cho phép chú thích các tệp PDF. Bạn có thể xem tài liệu để biết về danh sách dài các định dạng tài liệu được hỗ trợ cho chú thích.

Tải xuống và định cấu hình

Nhận thư viện chú thích từ các bản tải xuống hoặc chỉ cần thêm cấu hình pom.xml sau vào các ứng dụng Java dựa trên Maven của bạn để thử các ví dụ của bài viết này cũng như nhiều ví dụ khác có sẵn trên GitHub. Để biết chi tiết, bạn có thể truy cập Tham khảo API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-annotation</artifactId>
        <version>20.2</version> 
</dependency>

Thêm chú thích vào PDF trong Java

Hãy nhanh chóng chuyển sang thêm một số loại chú thích khác nhau vào tài liệu PDF. Vì có nhiều loại chú thích khác nhau, chúng tôi có thể không trình bày tất cả trong bài viết này. Tôi sẽ chỉ đề cập đến chúng và bạn có thể tìm hiểu về từng chú thích riêng lẻ.

  • Chú thích vùng/hình chữ nhật

  • mũi tên

  • Khoảng cách

  • hình elip

  • Điểm nổi bật

  • liên kết

  • Điểm

  • đa tuyến

  • thay thế

  • Biên tập tài nguyên

  • Làm văng ra

  • Trương Văn bản

  • soạn thảo văn bản

  • gạch dưới

  • Chữ ký ảnh

Hãy bắt đầu thêm một số trong số này vào tài liệu PDF.

Thêm chú thích mũi tên vào PDF bằng Java

Sau đây là các bước để thêm chú thích mũi tên vào tài liệu PDF.

chú thích mũi tên
  • Tải tài liệu PDF bằng lớp Chú thích.
  • Khởi tạo chú thích mũi tên bằng lớp ArrowAnnotation.
  • Đặt vị trí và kích thước của mũi tên bằng phương pháp setBox của ArrowAnnotation.
  • Thêm chú thích mũi tên đã tạo vào đối tượng Annotator.
  • Lưu tệp PDF có chú thích bằng cách cung cấp đường dẫn bằng phương thức save.

Mẫu mã sau đây cho biết cách thêm chú thích mũi tên vào tài liệu PDF bằng Java.

// Thêm chú thích Mũi tên vào PDF bằng Java
final Annotator annotator = new Annotator("document.pdf");
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(100, 100, 100, 100)); // (x, y, width, height)
annotator.add(arrow);
annotator.save("path/annotated-with-arrow.pdf");

Chèn chú thích hình chữ nhật hoặc vùng vào PDF bằng Java

Bạn có thể tùy chỉnh bất kỳ chú thích nào trong khi thêm nó vào tài liệu. Sau đây là các bước để thêm chú thích hình chữ nhật hoặc vùng vào tài liệu PDF với ít tùy chỉnh hơn. Nó tương tự như thêm chú thích Mũi tên nhưng sử dụng lớp AreaAnnotation thay cho ArrowAnnotation.

  • Tải tài liệu PDF bằng lớp Chú thích.
  • Khởi tạo chú thích hình chữ nhật bằng lớp AreaAnnotation.
  • Đặt vị trí và kích thước của hình chữ nhật bằng phương pháp setBox của AreaAnnotation.
  • Đặt các thuộc tính khác như màu, nền, độ mờ, kiểu, chiều rộng của bút hoặc thậm chí cả tin nhắn và thời gian.
  • Thêm chú thích hình chữ nhật đã tạo vào đối tượng Annotator.
  • Lưu tệp PDF có chú thích bằng cách cung cấp đường dẫn bằng phương pháp lưu.
Chú thích hình chữ nhật hoặc khu vực

Mẫu mã sau đây cho biết cách thêm chú thích hình chữ nhật/khu vực vào tài liệu PDF bằng Java.

// Thêm chú thích khu vực hoặc chú thích hình chữ nhật vào PDF bằng Java
final Annotator annotator = new Annotator("document.pdf");
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
// thêm vào tài liệu
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

Thêm chú thích hình bầu dục hoặc hình elip vào PDF bằng Java

Sau đây là các bước để thêm chú thích hình bầu dục hoặc chú thích hình elip vào tài liệu PDF.

Chú thích hình elip hoặc hình bầu dục
  • Tải tài liệu PDF bằng lớp Chú thích.
  • Khởi tạo chú thích hình elip bằng lớp EllipseAnnotation.
  • Đặt vị trí và kích thước của hình elip bằng phương pháp setBox của EllipseAnnotation.
  • Thêm chú thích hình elip đã tạo vào đối tượng Chú thích.
  • Lưu tệp PDF có chú thích bằng cách cung cấp đường dẫn bằng phương thức save.

Mẫu mã sau đây cho biết cách thêm chú thích hình bầu dục hoặc hình elip vào tài liệu PDF bằng Java.

// Thêm chú thích hình bầu dục hoặc hình elip trong PDF bằng Java
final Annotator annotator = new Annotator("document.pdf");
// Chú thích hình bầu dục hoặc hình elip
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// thêm vào tài liệu
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

Chèn chú thích khoảng cách vào PDF bằng Java

Chú thích khoảng cách

Bạn cũng có thể thêm chú thích khoảng cách để hiển thị khoảng cách giữa hai điểm. Sau đây là các bước để thêm chú thích khoảng cách vào tài liệu PDF.

  • Tải tài liệu PDF bằng lớp Chú thích.
  • Khởi tạo chú thích khoảng cách bằng lớp DistanceAnnotation.
  • Đặt kích thước và vị trí của chú thích bằng phương pháp setBox của DistanceAnnotation.
  • Thêm chú thích khoảng cách đã tạo vào đối tượng Chú thích.
  • Lưu tệp PDF có chú thích bằng cách cung cấp đường dẫn bằng phương thức save.

Mẫu mã sau đây cho biết cách thêm chú thích khoảng cách vào tài liệu PDF bằng Java.

// Chú thích khoảng cách sử dụng Java
final Annotator annotator = new Annotator("document.pdf");
// Chú thích khoảng cách
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// thêm vào tài liệu
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

Hoàn thành mã

Tóm lại, đây là mã Java với đầu ra hiển thị tất cả các chú thích và thông báo được thêm vào cùng với các câu trả lời sử dụng mã Java đã đề cập.

Đã thêm chú thích vào PDF

Đoạn mã dưới đây thêm, mũi tên, hình chữ nhật, hình elip, chú thích khoảng cách, tin nhắn và trả lời cho tệp PDF.

// Thêm nhiều chú thích vào PDF bằng Java
// Thêm chú thích Mũi tên, Diện tích, Hình bầu dục (Hình elip), Khoảng cách vào PDF bằng tin nhắn và trả lời bằng Java
final Annotator annotator = new Annotator(Constants.INPUT);
// Đặt câu trả lời
Reply reply1 = new Reply();
reply1.setComment("Please look in to these issues.");
reply1.setRepliedOn(Calendar.getInstance().getTime());

Reply reply2 = new Reply();
reply2.setComment("Change Description");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply3 = new Reply();
reply2.setComment("On-Premises APIs");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply4 = new Reply();
reply2.setComment("Add images as well.");
reply2.setRepliedOn(Calendar.getInstance().getTime());

java.util.List<Reply> replies = new ArrayList<Reply>();
replies.add(reply1);
replies.add(reply2);
replies.add(reply3);
replies.add(reply4);
// Chú thích mũi tên =================================
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(560, 250, 60, -60));
arrow.setCreatedOn(Calendar.getInstance().getTime());
arrow.setMessage("This image is little upwards.");
arrow.setOpacity(0.7);
arrow.setPenColor(-3407872);
arrow.setPenWidth((byte) 2);
arrow.setReplies(replies.subList(0, 1));
// Chú thích khu vực ===================================
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
area.setReplies(replies.subList(1, 2));
// Chú thích hình bầu dục hoặc hình elip ==========
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
ellipse.setCreatedOn(Calendar.getInstance().getTime());
ellipse.setMessage("Shows all the available Annotation APIs.");
ellipse.setOpacity(0.7);
ellipse.setPenColor(-16034924);
ellipse.setPenStyle(PenStyle.Dot);
ellipse.setPenWidth((byte) 3);
ellipse.setReplies(replies.subList(2, 3));
// Chú thích khoảng cách =================
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
distance.setCreatedOn(Calendar.getInstance().getTime());
distance.setMessage("This is the heading area");
distance.setOpacity(0.7);
distance.setPenColor(-21197);
distance.setPenStyle(PenStyle.Solid);
distance.setPenWidth((byte) 1);
distance.setReplies(replies.subList(3, 4));
// Thêm chú thích =================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// Lưu PDF chú thích =================
annotator.save(outputPath);
annotator.dispose();

Xóa chú thích khỏi PDF trong Java

Các bước sau đây cho biết cách xóa tất cả chú thích khỏi tệp PDF trong Java.

  • Tải tài liệu PDF bằng lớp Chú thích.
  • Khởi tạo tùy chọn lưu bằng lớp SaveOptions.
  • Đặt các loại chú thích thành Không có.
  • Lưu tệp PDF đã xóa tất cả các chú thích bằng cách cung cấp đường dẫn bằng phương thức save.

Mã Java sau đây sẽ xóa chú thích khỏi tệp PDF.

// Xóa tất cả các chú thích khỏi tài liệu PDF bằng Java
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// Lưu tệp PDF mà không có thêm chú thích nào trong đó.
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

Sự kết luận

Tóm lại, bạn đã học cách thêm chú thích vào PDF trong các ứng dụng Java. Hơn nữa, bạn đã biết cách xóa tất cả các chú thích khỏi bất kỳ tệp PDF nào. Giờ đây, bạn đã có thể tự tin xây dựng ứng dụng Java trình chú thích tài liệu của riêng mình. Nó có thể hỗ trợ các loại chú thích khác nhau bằng cách sử dụng GroupDocs.Annotation for Java.

Để biết thêm chi tiết, tùy chọn và ví dụ, bạn có thể truy cập kho lưu trữ tài liệuGitHub. Đối với các câu hỏi khác, hãy liên hệ với bộ phận hỗ trợ trên diễn đàn.

Xem thêm