PDF'ye .NET'te Açıklamalar ve Formlar Nasıl Eklenir
.NET’te Açıklamalar ve Formlar Nasıl Eklenir
Bu kılavuz, Aspose.PDF FOSS for .NET kullanarak PDF belgelerine açıklama ve etkileşimli form alanları eklemeyi gösterir.
Önkoşullar
| Gereksinim | Ayrıntı |
|---|---|
| Çalışma Zamanı | .NET 8.0 veya üzeri |
| Paket | dotnet add package Aspose.Pdf.Foss |
| Lisans | MIT — lisans anahtarı gerektirmez |
Adım 1: Metin açıklaması ekleyin
Metin açıklamaları sayfada yapışkan notlar olarak görünür. Bir sınırlayıcı dikdörtgen,
not içeriği ve bir yazar başlığı sağlayın. Belge açıldığında notun genişletilmiş olarak görüntülenmesi için open: true ayarlayın.
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");Adım 2: Bağlantı açıklaması ekle
Bağlantı açıklamaları dikdörtgen bir alanı tıklanabilir hâle getirir. Rectangle ile bir PdfAction.CreateUri çağrısını birleştirerek, tıklandığında kullanıcıyı harici bir URL’ye yönlendirin.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Adım 3: Vurgulama ve şekil açıklamaları ekleyin
Vurgu ek açıklamaları, metin bölgelerini yarı saydam bir kaplama ile işaretler.
Shape
ek açıklamaları, kareler ve daireler gibi, sayfada geometrik hatlar çizer.
Her ikisi de renk dizilerini ve isteğe bağlı çizgi genişliği parametrelerini kabul eder.
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);Adım 4: Form alanı değerlerini oku
AcroForm alanlarına Document.Form aracılığıyla erişilir. Belgeyi değiştirmeden her alanın adını ve mevcut değerini okumak için Form.Fields yineleyin.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Adım 5: Açıklamaları Düzleştir
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Ana Sınıflar
| Sınıf | Amaç |
|---|---|
AnnotationCollection | Sayfa açıklamalarını ekle ve yönet |
LinkAnnotation | Köprü açıklaması |
TextAnnotation | Yapışkan not açıklaması |
Form | AcroForm alan erişimi |
Field | Form alanları için temel sınıf |
PdfAction.CreateUri | URI bağlantı eylemi oluştur |
AnnotationSelector | Açıklamaları türe göre filtrele |
Sorun Giderme
| Sorun | Çözüm |
|---|---|
| Ek açıklama görünmüyor | Dikdörtgen koordinatlarının sayfa sınırları içinde olduğundan emin olun |
| Bağlantı URI’si null | Bağlantı bir GoTo eylemi kullanıyor olabilir — ActionType kontrol edin |
| Form alanı değeri boş | Alan bir /V girdisine sahip olmayabilir — alan adını doğrulayın |