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
| Requirement | Detail |
|---|---|
| Runtime | .NET 8.0 hoặc mới hơn |
| Package | dotnet add package Aspose.Pdf.Foss |
| License | MIT — 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
| Class | Purpose |
|---|---|
AnnotationCollection | Thêm và quản lý chú thích trang |
LinkAnnotation | Chú thích siêu liên kết |
TextAnnotation | Chú thích ghi chú dính |
Form | Truy cập trường AcroForm |
Field | Lớp cơ sở cho các trường biểu mẫu |
PdfAction.CreateUri | Tạo hành động liên kết URI |
AnnotationSelector | Lọc chú thích theo loại |
Khắc phục sự cố
| Vấn đề | Giải pháp |
|---|---|
| Annotation not visible | Kiểm tra xem tọa độ hình chữ nhật có nằm trong giới hạn trang không |
| Link URI is null | Liên kết có thể sử dụng hành động GoTo — kiểm tra ActionType |
| Form field value empty | Trường có thể không có mục /V — xác minh tên trường |