Facade API
Facades API
Facades API, temel Aspose.PDF FOSS for .NET nesne modelinin etrafında basitleştirilmiş, görev odaklı sarmalayıcılar sağlar. Her facade sınıfı belirli bir PDF işlemini hedefler — form doldurma, dosya birleştirme, içerik düzenleme veya dijital imzalama — ve bir BindPdf / Save iş akışı sunar.
Form facade’i ile form doldurma
Form (Aspose.Pdf.Facades içinde) mevcut bir PDF’ye bağlanır ve sayfa ağacını dolaşmadan AcroForm alan değerlerini okumanıza veya yazmanıza olanak tanır.
using var form = new Form("input.pdf", "output.pdf");
form.FillField("FirstName", "Alice");
form.FillField("AcceptTerms", "Yes");
form.Save();Alan değerlerini okumak için:
using var form = new Form("input.pdf");
string name = form.GetField("FirstName");PdfFileEditor ile PDF’leri birleştirme ve bölme
PdfFileEditor sayfa aralıklarını birleştirir, böler, çıkarır ve siler.
var editor = new PdfFileEditor();
// Concatenate two files
editor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");
// Extract pages 2-5
editor.Extract("source.pdf", 2, 5, "pages2to5.pdf");
// Split at page 3
editor.SplitFromFirst("source.pdf", 3, "first3.pdf");Sayfa içeriğini PdfContentEditor ile düzenleme
PdfContentEditor mevcut sayfa içeriğini değiştirir — metin ekle, metni değiştir veya ek açıklamalara eylemler ekle.
var editor = new PdfContentEditor();
editor.BindPdf("input.pdf");
// Perform content edits
editor.Save("output.pdf");PdfFileSignature ile Dijital imzalar
PdfFileSignature PDF belgelerini imzalar ve mevcut imzaları doğrular.
var sig = new PdfFileSignature();
sig.BindPdf("document.pdf");
// Sign or verify
sig.Save("signed.pdf");PdfFileStamp ile sayfa damgalama
PdfFileStamp metin, görüntü veya diğer PDF sayfalarını damga olarak bindirir.
var stamp = new PdfFileStamp();
stamp.BindPdf("input.pdf");
// Add stamps
stamp.Save("stamped.pdf");
stamp.Close();PdfConverter ile sayfaları görüntülere dönüştürme
PdfConverter PDF sayfalarını raster görüntü formatlarına dönüştürür.
var converter = new PdfConverter();
converter.BindPdf("input.pdf");
converter.DoConvert();
// Iterate pages and save imagesİpuçları ve En İyi Uygulamalar
- Facade nesneleri tarafından tutulan kaynakları serbest bırakmak için her zaman
Close()çağırın veyausingkullanın. - Büyük dosyalar için her şeyi bir kerede belleğe yüklemekten kaçınmak amacıyla dosya yolu ile
BindPdfkullanın. - Hata yönetimini nazikçe yapmak için non‑Try karşılıkları yerine
TryConcatenateveTryAppendtercih edin. - Facade’ler dahili olarak temel
Documentmodeline delege eder — ince ayarlı kontrol gerektiğinde temel API’ye geçin. FormEditorfacade, mevcut bir PDF’ye yeni form alanları eklemeye izin verir, sadece mevcut olanları doldurmakla sınırlı değildir.
Yaygın Sorunlar
| Sorun | Neden | Çözüm |
|---|---|---|
Save() boş dosya üretir | BindPdf kaydetmeden önce çağrılmadı | Save çağırmadan önce her zaman bir kaynak PDF bağlayın |
| Form alanı değeri yazılmadı | Alan adı PDF’in iç alan adıyla eşleşmiyor | Mevcut alan adlarını listelemek için Form.FieldNames kullanın |
| Birleştirme sessizce başarısız olur | Girdi dosyası şifrelenmiş veya bozuk | TryConcatenate kullanın ve dönüş değerini kontrol edin |
| İmzalar düzenlemeden sonra geçersiz | İmzalandıktan sonra içerik değiştirildi | Belgeyi son adım olarak imzalayın |
SSS
Facade’ler ile temel Document API’si arasındaki fark nedir?
Facade’ler yüksek seviyeli, görev odaklı yöntemler sağlar (bir form doldur, dosyaları birleştir).
Çekirdek API (Document, Page, Annotation) daha düşük seviyeli erişim sağlar
her PDF nesnesine. Facade’ler içsel olarak çekirdek API’yi kullanır.
Birden fazla facade işlemini zincirleyebilir miyim?
Evet. Aynı kaynağı bağlayın, işlemleri gerçekleştirin ve bir kez kaydedin. Ya da ara bir sonucu kaydet ve bir sonraki işlem için yeniden bağlayın.
PdfFileEditor şifre korumalı PDF’leri destekliyor mu?
Evet. Sahip/kullanıcı şifrelerini kabul eden aşırı yüklemeler şifreli dosyalar için mevcuttur.
API Referans Özeti
| Sınıf / Metot | Açıklama |
|---|---|
Form | Alan değerlerini okuma ve yazma için AcroForm arayüzü |
Form.FillField | Bir form alanı değerini adla ayarla |
Form.GetField | Bir form alanı değerini adla oku |
FormEditor | Mevcut bir PDF’de form alanlarını ekle veya değiştir |
PdfFileEditor | PDF sayfa aralıklarını birleştir, böl, çıkar ve sil |
PdfFileEditor.Concatenate | İki veya daha fazla PDF’yi tek bir dosyada birleştir |
PdfFileEditor.Extract | Bir sayfa aralığını yeni bir PDF’ye çıkar |
PdfContentEditor | Sayfa içeriğini (metin, açıklama, eylemler) değiştir |
PdfFileSignature | PDF dijital imzalarını imzala ve doğrula |
PdfFileStamp | Sayfalara metin veya resim damgaları ekle |
PdfConverter | PDF sayfalarını raster görüntülere renderla |
FormattedText | Damga işlemleri için stillendirilmiş metin tanımlayıcısı |
FontStyle | Yazı tipi stillerinin (kalın, italik vb.) enumarasyonu |
EncodingType | Karakter kodlaması enumarasyonu |