iText - Chú thích liên kết
Trong chương này, chúng ta sẽ xem cách thêm chú thích liên kết vào tài liệu PDF bằng thư viện iText.
Tạo chú thích liên kết trong PDF
Bạn có thể tạo một Tài liệu PDF trống bằng cách khởi tạo Documentlớp học. Trong khi khởi tạo lớp này, bạn cần phải vượt quaPdfDocument đối tượng như một tham số cho phương thức khởi tạo của nó.
Để sử dụng chú thích văn bản trong tài liệu PDF của bạn, bạn cần tạo một đối tượng của lớp PdfTextAnnotation và thêm đối tượng này vào PdfPage.
Sau đây là các bước để sử dụng chú thích văn bản trong tài liệu PDF.
Bước 1: Tạo đối tượng PdfWriter
Các PdfWriterlớp đại diện cho DocWriter cho một tệp PDF. Lớp này thuộc về góicom.itextpdf.kernel.pdf. Hàm tạo của lớp này chấp nhận một chuỗi, đại diện cho đường dẫn của tệp nơi tệp PDF sẽ được tạo.
Khởi tạo PdfWriter lớp bằng cách chuyển một giá trị chuỗi (đại diện cho đường dẫn mà bạn cần tạo PDF) đến phương thức khởi tạo của nó, như được hiển thị bên dưới.
// Creating a PdfWriter
String dest = "C:/itextExamples/linkAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
Khi một đối tượng thuộc loại này được chuyển đến PdfDocument (lớp), mọi phần tử được thêm vào tài liệu này sẽ được ghi vào tệp được chỉ định.
Bước 2: Tạo đối tượng PdfDocument
Các PdfDocumentlớp là lớp đại diện cho Tài liệu PDF trong iText. Lớp này thuộc về góicom.itextpdf.kernel.pdf. Để khởi tạo lớp này (ở chế độ viết), bạn cần chuyển một đối tượng của lớpPdfWriter với hàm tạo của nó.
Khởi tạo lớp PdfDocument bằng cách chuyển PdfWriter đối tượng với hàm tạo của nó, như được hiển thị bên dưới.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Khi một đối tượng PdfDocument được tạo, bạn có thể thêm các phần tử khác nhau như trang, phông chữ, tệp đính kèm và trình xử lý sự kiện bằng cách sử dụng các phương pháp tương ứng do lớp của nó cung cấp.
Bước 3: Tạo đối tượng Tài liệu
Các Document lớp của gói com.itextpdf.layoutlà phần tử gốc trong khi tạo một tệp PDF tự túc. Một trong những hàm tạo của lớp này chấp nhận một đối tượng của lớpPdfDocument.
Khởi tạo Document lớp bằng cách chuyển đối tượng của lớp PdfDocument đã tạo ở các bước trước, như được hiển thị bên dưới.
// Creating a Document
Document document = new Document(pdfDoc);
Bước 4: Tạo đối tượng PdfAnnotation
Các PdfAnnotation lớp của gói com.itextpdf.kernel.pdf.annot đại diện cho lớp cha của tất cả các chú thích.
Trong số các lớp dẫn xuất của nó, PdfLinkAnnotationlớp đại diện cho chú thích liên kết. Tạo một đối tượng của lớp này, như hình dưới đây.
// Creating a PdfLinkAnnotation object
Rectangle rect = new Rectangle(0, 0);
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);
Bước 5: Thiết lập hoạt động của chú thích
Đặt hành động cho chú thích bằng cách sử dụng setAction() phương pháp của PdfLinkAnnotation lớp, như hình dưới đây.
// Setting action of the annotation
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/");
annotation.setAction(action);
Bước 6: Tạo liên kết
Tạo liên kết bằng cách khởi tạo Link lớp của gói com.itextpdf.layout.element, như hình dưới đây.
// Creating a link
Link link = new Link("Click here", annotation);
Bước 7: Thêm chú thích liên kết vào một đoạn văn
Tạo một đoạn văn mới bằng cách khởi tạo Paragraph và thêm liên kết đã tạo ở bước trước bằng cách sử dụng add() phương thức của lớp này, như được hiển thị bên dưới.
// Creating a paragraph
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");
// Adding link to paragraph
paragraph.add(link.setUnderline());
Bước 8: Thêm đoạn văn vào tài liệu
Thêm đoạn văn vào tài liệu bằng cách sử dụng add() phương pháp của Document lớp, như hình dưới đây.
// Adding paragraph to document
document.add(paragraph);
Bước 9: Đóng tài liệu
Đóng tài liệu bằng cách sử dụng close() phương pháp của Document lớp, như hình dưới đây.
// Closing the document
document.close();
Thí dụ
Chương trình Java sau đây trình bày cách thêm chú thích liên kết vào tài liệu PDF bằng thư viện iText.
Nó tạo ra một tài liệu PDF với tên linkAnnotation.pdf, thêm chú thích liên kết vào nó và lưu nó trong đường dẫn C:/itextExamples/
Lưu mã này trong một tệp có tên LinkAnnotation.java.
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.action.PdfAction;
import com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Link;
import com.itextpdf.layout.element.Paragraph;
public class LinkAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/linkAnnotation.pdf";
PdfWriter writer = new
PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating a PdfLinkAnnotation object
Rectangle rect = new Rectangle(0, 0);
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);
// Setting action of the annotation
PdfAction action = PdfAction.createURI("http:// www.tutorialspoint.com/");
annotation.setAction(action);
// Creating a link
Link link = new Link("Click here", annotation);
// Creating a paragraph
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");
// Adding link to paragraph
paragraph.add(link.setUnderline());
// Adding paragraph to document
document.add(paragraph);
// Closing the document
document.close();
System.out.println("Annotation added successfully");
}
}
Biên dịch và thực thi tệp Java đã lưu từ Dấu nhắc lệnh bằng các lệnh sau:
javac LinkAnnotation.java
java LinkAnnotation
Khi thực thi, chương trình trên sẽ tạo một tài liệu PDF hiển thị thông báo sau.
Annotation added successfully
Nếu bạn xác minh đường dẫn được chỉ định, bạn có thể tìm thấy tài liệu PDF đã tạo, như được hiển thị bên dưới.