Sayfa Oluşturma
Sayfa Oluşturma
Aspose.PDF FOSS for .NET, PDF içeriği oluşturmak için paragraf tabanlı bir yerleşim motoru sağlar. Tablolar, yüzen kutular, üstbilgi/altbilgi ve damgalar, içerik akışı operatörlerini manuel olarak oluşturmanıza gerek kalmadan yapılandırılmış sayfalar oluşturmanıza olanak tanır.
Paragraflar ekleme
Page.Paragraphs içerik öğeleri eklemek için giriş noktasıdır.
using var doc = new Document();
var page = doc.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");Tablolar
Table satırları, cells, sütun genişliklerini, kenarlıkları ve metin durumunu destekler.
var table = new Table();
table.ColumnWidths = "100 200 100";
var row = table.Rows.Add();
row.Cells.Add("Name");
row.Cells.Add("Description");
row.Cells.Add("Price");
page.Paragraphs.Add(table);Hücre biçimlendirme
Cells.Add bir Cell döndürür; burada kenarlıkları, dolguyu ve iç içe geçmiş içeriği yapılandırabilirsiniz.
var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);Yüzen kutular
FloatingBox sayfadaki içeriği mutlak koordinatlarda konumlandırır.
var box = new FloatingBox(200, 100);
box.Left = 72;
box.Top = 700;
box.Paragraphs.Add(new TextFragment("Positioned text"));
page.Paragraphs.Add(box);Üstbilgiler ve altbilgiler
HeaderFooter sayfaların üstüne veya altına yinelenen içerik ekler.
var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);
var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);Sayfa damgaları
PdfPageStamp bir PDF sayfasının içeriğini diğerine bindirir.
var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);İpuçları ve En İyi Uygulamalar
Table.ColumnWidths‘i, düzeni kontrol etmek için nokta değerlerinin boşlukla ayrılmış dizesi olarak kullanın.FloatingBox, mutlak konumlandırma için kullanışlıdır — yapılandırılmış içerik içinTableile birleştirin.HeaderFooter.FromText, sayfa numarası yer tutucu olarak{0}‘yi destekler.Save‘yi çağırmadan önce tüm paragrafları ekleyin — düzen motoru içeriği sırayla işler.BorderInfo‘yi, tablolara, hücrelere ve yüzen kutulara kenarlık eklemek için kullanın.
Yaygın Sorunlar
| Issue | Cause | Fix |
|---|---|---|
| Tablo sayfayı aşıyor | Bir sayfa için çok fazla satır | Kütüphane otomatik sayfalama yapar; gerekirse kenar boşluklarını ayarlayın |
| Üstbilgi görünmüyor | ApplyAsHeader, Save‘den sonra çağrıldı | Kaydetmeden önce üstbilgileri uygulayın |
| FloatingBox yanlış konumda | Koordinatlar paragraf birimlerinde sol üst köşeden ölçülür | Birimlerin beklentilerinize uygun olduğunu doğrulayın |
SSS
Çok sayfalı tablolar oluşturabilir miyim?
Evet. Bir tablo mevcut sayfa yüksekliğini aştığında, otomatik olarak bir sonraki sayfada devam eder.
Tablo hücrelerine nasıl resim eklerim?
Image paragrafı oluşturun ve hücrenin Paragraphs koleksiyonuna ekleyin.
Bir diziden bir tabloya veri içe aktarabilir miyim?
Evet. İki boyutlu bir diziden bir tablo doldurmak için Table.ImportArray kullanın.
API Referans Özeti
| Sınıf / Yöntem | Açıklama |
|---|---|
Paragraphs | Bir sayfadaki sıralı içerik öğeleri |
Paragraphs.Add | Bir paragraf öğesi ekle (metin, tablo, grafik vb.) |
Table | Satırlar, hücreler ve sütun genişlikleriyle ızgara düzeni |
Table.ImportArray | Tabloyu bir diziyle doldur |
Rows | Tablodaki satır koleksiyonu |
Cells | Tablo satırındaki hücre koleksiyonu |
BorderInfo | Tablolar, hücreler ve kutular için kenarlık stilizasyonu |
FloatingBox | Mutlak konumlandırılmış içerik kapsayıcısı |
HeaderFooter | Tekrarlayan başlık veya altbilgi içeriği |
HeaderFooter.FromText | Metin şablonundan başlık/altbilgi oluştur |
PdfPageStamp | Bir PDF sayfasını damga olarak üst üste yerleştir |