Cara Menambah Anotasi dan Borang ke PDF dalam .NET

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

KeperluanButiran
Masa Jalan.NET 8.0 atau lebih baru
Pakejdotnet add package Aspose.Pdf.Foss
LesenMIT — 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

KelasTujuan
AnnotationCollectionTambah dan urus anotasi halaman
LinkAnnotationAnotasi pautan hiper
TextAnnotationAnotasi nota lekat
FormAkses medan AcroForm
FieldKelas asas untuk medan borang
PdfAction.CreateUriCipta tindakan pautan URI
AnnotationSelectorTapis anotasi mengikut jenis

Penyelesaian Masalah

MasalahPenyelesaian
Anotasi tidak kelihatanPastikan koordinat segi empat berada dalam sempadan halaman
URI pautan adalah nullPautan mungkin menggunakan tindakan GoTo — semak ActionType
Nilai medan borang kosongMedan mungkin tidak mempunyai entri /V — sahkan nama medan

Lihat Juga

 Bahasa Melayu