Cách Thêm Ghi chú và Biểu mẫu vào PDF trong .NET

Cách Thêm Ghi chú và Biểu mẫu vào PDF trong .NET

Cách Thêm Ghi chú và Biểu mẫu trong .NET

Hướng dẫn này cho thấy cách thêm chú thích và các trường biểu mẫu tương tác vào tài liệu PDF bằng Aspose.PDF FOSS cho .NET.


Điều kiện tiên quyết

RequirementDetail
Runtime.NET 8.0 hoặc mới hơn
Packagedotnet add package Aspose.Pdf.Foss
LicenseMIT — không cần khóa giấy phép

Bước 1: Thêm chú thích văn bản

Chú thích văn bản xuất hiện dưới dạng ghi chú dính trên trang. Cung cấp một hình chữ nhật bao quanh, nội dung ghi chú và tiêu đề tác giả. Đặt open: true để hiển thị ghi chú mở rộng khi tài liệu được mở.

using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var page = doc.Pages[1];

page.Annotations.AddTextAnnotation(
    new Rectangle(72, 720, 200, 740),
    contents: "Review this section",
    title: "Editor",
    open: true);

doc.Save("annotated.pdf");

Bước 2: Thêm chú thích liên kết

Chú thích liên kết tạo ra một vùng hình chữ nhật có thể nhấp chuột. Kết hợp Rectangle với một lời gọi PdfAction.CreateUri để điều hướng người dùng tới một URL bên ngoài khi được nhấp.

var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
    new Rectangle(50, 700, 200, 720), action);

Bước 3: Thêm chú thích tô sáng và hình dạng

Các chú thích Highlight đánh dấu các vùng văn bản bằng một lớp phủ trong suốt. Shape các chú thích như hình vuông và hình tròn vẽ các đường viền hình học trên trang. Cả hai đều chấp nhận mảng màu và các tham số độ rộng đường tùy chọn.

page.Annotations.AddHighlightAnnotation(
    new Rectangle(72, 680, 300, 700),
    quadPoints: null,
    color: new double[] { 1, 1, 0 });

page.Annotations.AddSquareAnnotation(
    new Rectangle(72, 640, 200, 680),
    borderColor: new double[] { 0, 0, 1 },
    fillColor: null,
    lineWidth: 1.5);

Bước 4: Đọc giá trị trường biểu mẫu

Các trường AcroForm được truy cập thông qua Document.Form. Lặp lại Form.Fields để đọc tên và giá trị hiện tại của mỗi trường mà không sửa đổi tài liệu.

using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
    Console.WriteLine($"{field.FullName}: {field.Value}");
}

Bước 5: Làm phẳng chú thích

foreach (var annot in doc.Pages[1].Annotations)
{
    annot.Flatten();
}
doc.Save("flattened.pdf");

Các lớp chính

ClassPurpose
AnnotationCollectionThêm và quản lý chú thích trang
LinkAnnotationChú thích siêu liên kết
TextAnnotationChú thích ghi chú dính
FormTruy cập trường AcroForm
FieldLớp cơ sở cho các trường biểu mẫu
PdfAction.CreateUriTạo hành động liên kết URI
AnnotationSelectorLọc chú thích theo loại

Khắc phục sự cố

Vấn đềGiải pháp
Annotation not visibleKiểm tra xem tọa độ hình chữ nhật có nằm trong giới hạn trang không
Link URI is nullLiên kết có thể sử dụng hành động GoTo — kiểm tra ActionType
Form field value emptyTrường có thể không có mục /V — xác minh tên trường

Xem thêm

 Tiếng Việt