Belge Yönetimi

Belge Yönetimi

Document, Aspose.PDF FOSS for .NET’te kök nesnedir. Bir bütün PDF dosyasını temsil eder ve
sayfalara, meta verilere, form alanlarına ve diğer tüm PDF yapılarına erişim sağlar. Mevcut dosyaları Document.Open ile açın ve yeni
dosyaları Document yapıcısı ile oluşturun.


Belgeleri açma ve oluşturma

// Open from a byte array
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));

// Open from a file path
using var doc2 = new Document("input.pdf");

// Create a new empty document
using var newDoc = new Document();
newDoc.Pages.Add();
newDoc.Save("new.pdf");

Sayfalarla çalışma

PageCollection belge sayfalarını yönetir. Sayfalara 1 tabanlı indeksle erişin, yeni sayfalar ekleyin veya mevcut sayfaları kaldırın.

using var doc = Document.Open(pdfBytes);

// Access first page
var page = doc.Pages[1];

// Add a blank page
var newPage = doc.Pages.Add();

// Get page count
int count = doc.Pages.Count;

Sayfa geometrisi

Her sayfa birkaç sınırlama kutusu tanımlar. Bunları ayarlamak için Page üzerindeki ayarlayıcı yöntemleri kullanın.

var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);

Belgeleri kaydetme

Bir dosya yoluna, bir akışa veya bir bayt dizisine kaydedin.

// Save to file
doc.Save("output.pdf");

// Save to stream
using var ms = new MemoryStream();
doc.Save(ms);

Dosya ekleri

FileSpecification bir PDF’deki gömülü dosya eklerini temsil eder.

var spec = new FileSpecification("data.csv", "Embedded data file");
doc.EmbeddedFiles.Add(spec);

Görüntü damgaları

ImageStamp bir sayfada belirtilen konumda raster görüntüyü bindirir.

var stamp = new ImageStamp("logo.png");
stamp.Put(doc.Pages[1]);
doc.Save("stamped.pdf");

Operatör koleksiyonları

OperatorCollection her sayfada ham içerik akışı operatörlerini tutar. Düşük seviyeli içerik denetimi veya manipülasyonu için kullanın.

var ops = doc.Pages[1].Contents;
foreach (var op in ops)
{
    // Inspect each operator
}

İpuçları ve En İyi Uygulamalar

  • Document öğesini dosya tutucularını hızlıca serbest bırakmak için bir using ifadesi içinde sarın.
  • Dosya kilidi sorunlarından kaçınmak için bellek içi iş akışlarında Document.Open(byte[]) kullanın.
  • Doğru koordinat alanını sağlamak amacıyla içerik eklemeden önce sayfa kutularını (MediaBox, CropBox) değiştirin.
  • Tüm değişikliklerden sonra Save yalnızca bir kez çağırın — tekrarlanan kaydetmeler daha yavaştır ancak güvenlidir.
  • Tüm sayfalardaki açıklamaları toplu işlemek için PageCollection.Accept(AnnotationSelector) kullanın.

Yaygın Sorunlar

SorunNedenÇözüm
Document.Open geçerli PDF’de hata verirDosya bir şifreyle şifrelenmişYapıcıda şifre parametresini sağlayın
Oluşturulduktan sonra sayfa sayısı 0Yeni Document() boş başlarBoş bir sayfa eklemek için doc.Pages.Add()‘yi çağırın
Kaydedilen dosya beklenenden daha büyükGörseller veya yazı tipleri birden çok kez gömülmüşOptimizasyonu kullanın (Dönüştürme ve Optimizasyon kılavuzuna bakın)
Pages[0] indeks hatası verirSayfalar 0 tabanlı değil, 1 tabanlıdırİlk sayfa için Pages[1]‘yi kullanın

SSS

İki PDF belgesini nasıl birleştiririm?

Facades API’den PdfFileEditor.Concatenate kullanın veya PageCollection kullanarak bir belgeden diğerine sayfaları manuel olarak kopyalayın.

Bir PDF’yi bir URL’den veya akıştan açabilir miyim?

Evet. URL içeriğini önce bir byte[] içine okuyun, ardından Document.Open(byte[])‘a geçirin.

Bir sayfayı nasıl silerim?

doc.Pages.Delete(pageNumber)‘yi çağırın; pageNumber 1 tabanlıdır.

Document thread-safe mı?

Hayır. Her iş parçacığı kendi Document örneğiyle çalışmalıdır.


API Referans Özeti

Class / MethodDescription
DocumentKök PDF nesnesi; sayfaları, meta verileri ve form alanlarını tutar
Document.OpenBayt dizisinden bir PDF açmak için statik fabrika
Document.SaveBelgeyi bir dosyaya veya akışa serileştir
Pageİçerik, açıklama ve geometri içeren tek PDF sayfası
Page.SetMediaBoxSayfa medya kutusunu tanımla
Page.SetCropBoxGörünür kırpma alanını tanımla
Page.SetRotationSayfayı 0, 90, 180 veya 270 derece döndür
PageCollectionBir belgede sıralı sayfa koleksiyonu
PageCollection.AddBoş bir sayfa ekle
OperatorCollectionBir sayfa için ham içerik akışı operatörleri
FileSpecificationGömülü dosya ek açıklayıcısı
ImageStampSayfalar için görüntü bindirme damgası
XFormCollectionBelgede yeniden kullanılabilir form XObject’leri

Ayrıca Bakınız

 Türkçe