Cách thêm chú thích vào PDF

Cách thêm chú thích vào PDF

Bạn thêm chú thích văn bản vào tệp PDF để tóm tắt nội dung được viết trong tài liệu và ghi chú những điểm quan trọng cũng như các chi tiết khác. Tuy nhiên, bạn có thể thêm chú thích văn bản vào bất kỳ đâu trong tài liệu và sau khi được tạo, nó sẽ xuất hiện dưới dạng cửa sổ bật lên và dưới dạng biểu tượng khi đóng lại. Trong bài đăng trên blog này, bạn sẽ tìm hiểu cách thêm chú thích vào tệp PDF bằng cách sử dụng Java API dành cho PDF này. Ngoài ra, bạn sẽ tìm hiểu các phương pháp giúp bạn thêm chú thích văn bản vào tệp theo chương trình.

Các điểm sau đây sẽ được đề cập trong hướng dẫn này:

API Java cho PDF - cài đặt

Quy trình cài đặt thư viện này chỉ còn một bước nữa. Bạn có thể tải xuống API hoặc cài đặt nó bằng các cấu hình Maven sau.

 <repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <classifier>jdk17</classifier>
</dependency>

Cách thêm chú thích vào PDF

Giờ đây, bạn có thể tận dụng các phương pháp của thư viện PDF này để triển khai việc thêm chú thích văn bản vào tệp PDF theo chương trình.

Vui lòng làm theo đoạn mã và các bước được đề cập bên dưới:

  1. Khởi tạo một phiên bản của lớp Tài liệu và tải tệp PDF nguồn.
  2. Lấy một trang theo chỉ mục bằng cách gọi phương thức getItem.
  3. Khởi tạo một đối tượng của lớp Rectangle đại diện cho một hình chữ nhật.
  4. Tạo chú thích văn bản mới trên trang được chỉ định bằng cách tạo đối tượng của lớp TextAnnotation.
  5. Phương thức setTitle thiết lập một văn bản sẽ được hiển thị trên thanh tiêu đề của chú thích.
  6. Phương thức setSubject đặt văn bản thể hiện mô tả của đối tượng.
  7. Phương thức setContents thiết lập văn bản chú thích.
  8. Khởi tạo hàm tạo của đối tượng Border bằng đối tượng textAnnotation.
  9. Đặt độ rộng của đường viền và mẫu gạch ngang bằng cách gọi các phương thức setWidthsetDash.
  10. Gọi phương thức add để thêm chú thích vào bộ sưu tập.
  11. Phương thức save sẽ lưu file chú thích.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

// Khởi tạo một phiên bản của lớp Tài liệu và tải tệp PDF nguồn.
Document document = new Document(  "table.pdf");
// Lấy một trang theo chỉ mục bằng cách gọi phương thức get_Item 
Page page = document.getPages().get_Item(1);
// Khởi tạo một đối tượng của lớp Rectangle đại diện cho hình chữ nhật.
Rectangle rect = new Rectangle(200, 750, 400, 790);
// Tạo một chú thích Văn bản mới trên trang được chỉ định bằng cách tạo một đối tượng của lớp TextAnnotation. 
TextAnnotation textAnnotation = new TextAnnotation(page, rect);
// Phương thức setTitle đặt văn bản sẽ được hiển thị trên thanh tiêu đề của chú thích. 
textAnnotation.setTitle("Aspose User");
// Phương thức setSubject đặt văn bản đại diện cho mô tả của đối tượng. 
textAnnotation.setSubject("Sample Subject");
// Phương thức setContents đặt văn bản chú thích. 
textAnnotation.setContents("Sample contents for the annotation");
textAnnotation.setOpen(true);
textAnnotation.setIcon(TextIcon.Circle);
// Khởi tạo hàm tạo cho đối tượng viền bằng đối tượng textAnnotation. 
Border border = new Border(textAnnotation);
// Đặt độ rộng của đường viền và mẫu gạch ngang bằng cách gọi phương thức setWidth và setDash.  
border.setWidth(5);
border.setDash(new Dash(1, 1));
textAnnotation.setBorder(border);
textAnnotation.setRect(rect);
// Gọi phương thức add để thêm chú thích vào bộ sưu tập. 
page.getAnnotations().add(textAnnotation);
// Phương thức save sẽ lưu tệp chú thích. 
document.save(  "sample_textannot.pdf");

Bạn có thể thấy đầu ra trong hình ảnh dưới đây:

chú thích văn bản

Đọc chú thích văn bản

Tương tự, chúng ta có thể đọc chú thích văn bản từ tệp PDF hiện có bằng cách thực hiện theo các bước được đề cập bên dưới:

  1. Tạo một phiên bản của lớp Document và tải tệp PDF nguồn.
  2. Gọi phương thức getItem để lấy trang theo chỉ mục.
  3. Lọc chú thích bằng AnnotationSelector.
  4. Gọi phương thức accept để chấp nhận khách truy cập xử lý chú thích.
  5. Gọi phương thức getSelected để lấy danh sách các đối tượng Chú thích đã chọn.
  6. In kết quả.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

// tạo một phiên bản của lớp Tài liệu và tải tệp PDF nguồn. 
Document document = new Document(  "sample_textannot.pdf");
// Gọi phương thức get_Item để lấy một trang theo chỉ mục bằng cách gọi phương thức   
Page page = document.getPages().get_Item(1);
// Lọc chú thích bằng AnnotationSelector 
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// Gọi phương thức chấp nhận để chấp nhận khách truy cập xử lý chú thích. 
page.accept(annotationSelector);
//  Gọi phương thức getSelected để lấy danh sách các đối tượng Chú thích đã chọn. 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// in kết quả
for (Annotation fa : TextAnnotations) {
    System.out.println(fa.getRect());
}

Xóa chú thích văn bản

Ngoài ra, bạn có thể làm theo các bước và đoạn mã để xóa chú thích văn bản theo chương trình:

  1. Tạo một đối tượng của lớp Document và tải tệp PDF nguồn.
  2. Lọc chú thích bằng AnnotationSelector.
  3. Chấp nhận khách truy cập xử lý chú thích bằng cách gọi phương thức accept.
  4. Gọi phương thức getSelected để lấy danh sách các đối tượng Chú thích đã chọn.
  5. Lặp lại tất cả các chú thích văn bản và xóa chú thích bằng cách gọi phương thức xóa.
  6. Gọi phương thức save để lưu tệp.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

// Tạo một đối tượng của lớp Tài liệu và tải tệp PDF nguồn. 
Document document = new Document(  "sample_textannot.pdf");
// Lọc chú thích bằng AnnotationSelector 
Page page = document.getPages().get_Item(1);
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// Chấp nhận khách truy cập xử lý chú thích bằng cách gọi phương thức chấp nhận 
page.accept(annotationSelector);
// Gọi phương thức getSelected để lấy danh sách các đối tượng Chú thích đã chọn. 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// lặp qua tất cả các chú thích văn bản
for (Annotation fa : TextAnnotations) {
    // Xóa chú thích bằng cách gọi phương thức xóa 
}
// Gọi phương thức save để lưu file 
document.save ( "sample_textannot_del.pdf");

Nhận giấy phép miễn phí

Bạn có thể tận dụng giấy phép tạm thời miễn phí để dùng thử API mà không bị giới hạn về đánh giá.

Tổng hợp

Điều này đưa chúng ta đến phần cuối của bài viết blog này. Bạn đã trải qua cách thêm chú thích vào tệp PDF theo chương trình. Ngoài ra, bạn cũng đã học cách đọc và xóa chú thích văn bản khỏi tài liệu PDF hiện có bằng cách sử dụng API Java cho PDF này. Hơn nữa, bạn có thể truy cập tài liệu để khám phá thêm về các phương pháp API.

Hơn nữa, chúng tôi khuyên bạn nên làm theo Hướng dẫn bắt đầu của chúng tôi.

Cuối cùng, conholdate.com đang viết bài blog mới. Vì vậy, hãy giữ liên lạc để cập nhật thường xuyên.

Đặt một câu hỏi

Bạn có thể cho chúng tôi biết về các câu hỏi hoặc thắc mắc của bạn trên diễn đàn của chúng tôi.

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

Tôi có thể chú thích một bản PDF miễn phí không?

Vui lòng truy cập liên kết này để biết đoạn mã và các phương thức API được Java API hiển thị cho PDF.

Xem thêm