Cara Menambahkan Anotasi dan Formulir ke PDF di .NET

Cara Menambahkan Anotasi dan Formulir ke PDF di .NET

Cara Menambahkan Anotasi dan Formulir di .NET

Panduan ini menunjukkan cara menambahkan anotasi dan bidang formulir interaktif ke dokumen PDF menggunakan Aspose.PDF FOSS untuk .NET.


Prasyarat

RequirementDetail
Runtime.NET 8.0 atau lebih baru
Packagedotnet add package Aspose.Pdf.Foss
LicenseMIT — tidak memerlukan kunci lisensi

Langkah 1: Tambahkan anotasi teks

Anotasi teks muncul sebagai catatan tempel pada halaman. Sediakan persegi panjang pembatas, konten catatan, dan judul penulis. Atur open: true untuk menampilkan catatan diperluas saat 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: Tambahkan anotasi tautan

Anotasi tautan membuat area persegi panjang dapat diklik. Gabungkan Rectangle dengan panggilan PdfAction.CreateUri untuk menavigasi pengguna ke URL eksternal saat diklik.

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

Langkah 3: Tambahkan anotasi sorotan dan bentuk

Anotasi sorotan menandai wilayah teks dengan lapisan transparan. Anotasi bentuk seperti persegi dan lingkaran menggambar garis tepi geometris pada halaman. Kedua jenis menerima array warna dan parameter lebar‑garis opsional.

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 bidang formulir

Bidang AcroForm diakses melalui Document.Form. Iterasi Form.Fields untuk membaca nama dan nilai saat ini dari setiap bidang tanpa memodifikasi 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 Kunci

ClassPurpose
AnnotationCollectionMenambahkan dan mengelola anotasi halaman
LinkAnnotationAnotasi hyperlink
TextAnnotationAnotasi catatan tempel
FormAkses bidang AcroForm
FieldKelas dasar untuk bidang formulir
PdfAction.CreateUriMembuat aksi tautan URI
AnnotationSelectorMenyaring anotasi berdasarkan tipe

Pemecahan Masalah

MasalahSolusi
Anotasi tidak terlihatPeriksa bahwa koordinat persegi panjang berada dalam batas halaman
URI tautan nullTautan mungkin menggunakan aksi GoTo — periksa ActionType
Nilai bidang formulir kosongBidang mungkin tidak memiliki entri /V — verifikasi nama bidang

Lihat Juga

 Bahasa Indonesia