Cara Menambah Anotasi dan Borang ke PDF dalam .NET
Cara Menambah Anotasi dan Borang dalam .NET
Panduan ini menunjukkan cara menambah anotasi dan medan borang interaktif ke dokumen PDF menggunakan Aspose.PDF FOSS untuk .NET.
Prasyarat
| Keperluan | Butiran |
|---|---|
| Masa Jalan | .NET 8.0 atau lebih baru |
| Pakej | dotnet add package Aspose.Pdf.Foss |
| Lesen | MIT — tiada kunci lesen diperlukan |
Langkah 1: Tambah anotasi teks
Anotasi teks muncul sebagai nota lekat pada halaman. Sediakan segi empat sempadan, kandungan nota, dan tajuk pengarang. Tetapkan open: true untuk memaparkan nota terbuka apabila dokumen dibuka.
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");Langkah 2: Tambah anotasi pautan
Anotasi pautan menjadikan kawasan segi empat tepat boleh diklik. Gabungkan Rectangle dengan panggilan PdfAction.CreateUri untuk menavigasi pengguna ke URL luaran apabila diklik.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Langkah 3: Tambah anotasi sorotan dan bentuk
Anotasi sorotan menandakan kawasan teks dengan lapisan lutsinar. Bentuk anotasi seperti segi empat dan bulatan melukis garis luar geometri pada halaman. Kedua-duanya menerima tatasusunan warna dan parameter lebar-garis pilihan.
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);Langkah 4: Baca nilai medan borang
Medan AcroForm diakses melalui Document.Form. Ulangi Form.Fields untuk membaca nama setiap medan dan nilai semasa tanpa mengubah dokumen.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Langkah 5: Ratakan anotasi
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Kelas Utama
| Kelas | Tujuan |
|---|---|
AnnotationCollection | Tambah dan urus anotasi halaman |
LinkAnnotation | Anotasi pautan hiper |
TextAnnotation | Anotasi nota lekat |
Form | Akses medan AcroForm |
Field | Kelas asas untuk medan borang |
PdfAction.CreateUri | Cipta tindakan pautan URI |
AnnotationSelector | Tapis anotasi mengikut jenis |
Penyelesaian Masalah
| Masalah | Penyelesaian |
|---|---|
| Anotasi tidak kelihatan | Pastikan koordinat segi empat berada dalam sempadan halaman |
| URI pautan adalah null | Pautan mungkin menggunakan tindakan GoTo — semak ActionType |
| Nilai medan borang kosong | Medan mungkin tidak mempunyai entri /V — sahkan nama medan |