C# Kullanarak PDF'lere Sayfa Numaraları Eklemek

C# Kullanarak PDF'ye Sayfa Numaraları Nasıl Eklenir

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF ile, C# kullanarak PDF'lere sayfa numaraları eklemenizi sağlar, başlık/altbilgilerde {page} ve {total-pages} yer tutucu dizelerini kullanabilirsiniz, belirli sayfa veya bölümlere uygulama seçenekleriyle birlikte geliştirilmiş belge gezinme sağlar.

Sayfa numaraları, bir PDF belgesi içindeki her sayfaya atanan ardışık numaralardır. Gezinme için temel bileşenlerdir ve okuyucuların belirli sayfaları bulmalarına ve konumlarını izlemelerine yardımcı olur. Sayfa numaraları ayrıca içeriğin kolay alıntılanması ve referanslanmasını sağlar. IronPDF ile, PDF'nize sayfa numaraları eklemek oldukça basittir.

Hızlı Başlangıç: PDF'lere Kolayca Sayfa Numaraları Ekleyin

IronPDF kullanarak PDF belgelerine sayfa numaraları ekleyin. Az miktarda C# koduyla, dinamik sayfa numaralarını başlıklara veya altbilgilere yerleştirebilir, konumlarını özelleştirebilir ve hangi sayfalarda görüneceklerini belirleyebilirsiniz. Yeni PDF'lerle veya mevcut olanlarla çalışırken, IronPDF belge yönlendirmesini ve düzenini geliştirmek için esnek bir çözüm sunar.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçasını kopyalayıp çalıştırın.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { HtmlFooter = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<center>{page}of{total-pages}</center>", DrawDividerLine = true } } }
         .RenderHtmlAsPdf("<h1>My multi-page document</h1><div style='page-break-after:always;'></div><h1>Page 2</h1>")
         .SaveAs("numbered-pages.pdf");
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronPDF kullanmaya başlayın ücretsiz deneme ile

    arrow pointer


PDF'ye Temel Sayfa Numaraları Nasıl Eklenir?

TextHeaderFooter veya HtmlHeaderFooter sınıfı ile {page} ve {total-pages} yer tutucu dizelerini kullanarak, geçerli sayfa numarasını ve toplam sayfa sayısını ekleyebilirsiniz. Bu işlevsellik, yeni PDF'ler oluştururken veya profesyonel biçimlendirme gerektiren HTML'i PDF'e dönüştürürken gereklidir.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-basic.cs
using IronPdf;

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter()
{
    CenterText = "{page} of {total-pages}"
};

// Create html footer
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

// Render a new PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Add header and footer
pdf.AddTextHeaders(textHeader);
pdf.AddHtmlFooters(htmlFooter);

pdf.SaveAs("pdfWithPageNumber.pdf");
Imports IronPdf

' Create text header
Private textHeader As New TextHeaderFooter() With {.CenterText = "{page} of {total-pages}"}

' Create html footer
Private htmlFooter As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}

' Render a new PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")

' Add header and footer
pdf.AddTextHeaders(textHeader)
pdf.AddHtmlFooters(htmlFooter)

pdf.SaveAs("pdfWithPageNumber.pdf")
$vbLabelText   $csharpLabel

Yukarıdaki koddan çıkan PDF çıktısı aşağıda gösterilmiştir:

Sayfa numara yerleşim dizgilerini doğrudan ChromePdfRenderer'ın render işlemleri seçeneklerine ekleyerek başlık ve altbilgi de ekleyebilirsiniz. Bu yöntem, PDF çıktınızı özelleştirmek için render işlemleri seçenekleri ile çalışırken faydalıdır.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-chromerenderer.cs
using IronPdf;

// Add header and footer to rendering options
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    CenterText = "{page} of {total-pages}"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

string html = @"
    <h1>Hello World!</h1>
<div style='page-break-after: always;'/>
    <h1>2nd Page!</h1>";

// Render new PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf");
Imports IronPdf

' Add header and footer to rendering options
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {.CenterText = "{page} of {total-pages}"}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}

Dim html As String = "
    <h1>Hello World!</h1>
<div style='page-break-after: always;'/>
    <h1>2nd Page!</h1>"

' Render new PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf")
$vbLabelText   $csharpLabel

Karmaşık belgelerle çalışırken, sayfa numaralarının doğru görünmesini sağlamak için sayfa sonları ve özel kenar boşlukları düşünebilirsiniz.

Sayfa Numaralarını Sadece Belirli Sayfalara Nasıl Ekleyebilirim?

IronPDF ile sayfa numaralarının nerede görüneceğini kontrol edebilirsiniz. Onları belirli bir sayfada başlatın veya çift indeksli sayfalar gibi belirli gruplara uygulayın. Bu esneklik, PDF raporları oluştururken veya farklı bölümler içeren belgelerle çalışırken değerlidir.

İlk olarak, sayfa numaralarını uygulamak için PDF belgesini hazırlayın:

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-preparation.cs
using IronPdf;
using System.Linq;
using System.Collections.Generic;

string multi_page_html = @"
    <p>This is the 1st Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 3rd Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 4th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 5th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 6th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 7th Page</p>";

// Create header
HtmlHeaderFooter header = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

// Render PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(multi_page_html);

// Create a Page Range 0..6
var allPageIndices = Enumerable.Range(0, pdf.PageCount);
Imports IronPdf
Imports System.Linq
Imports System.Collections.Generic

Private multi_page_html As String = "
    <p>This is the 1st Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 3rd Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 4th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 5th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 6th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 7th Page</p>"

' Create header
Private header As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}

' Render PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(multi_page_html)

' Create a Page Range 0..6
Private allPageIndices = Enumerable.Range(0, pdf.PageCount)
$vbLabelText   $csharpLabel

Sadece Çift Sayfaları Nasıl Numara Veririm?

Önceki örneği baz alarak, bu kod sayfa numaralarını yalnızca çift sayfa indekslerine uygular. Çift sayfa indeksleri için filtreleme yapıldığı için, sonuçtaki PDF, tek sayfa numaralarında gösterir. Sayfa indeksleri sıfırdan başlar, sayfa numaraları ise birden başlar. Bu teknik, geleneksel kitap düzenine uyan belgeler veya birleştirilmiş PDF belgeleri ile çalışırken uygundur.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-even-pages.cs
// Get even page indexes (resulting in odd page numbers)
var evenPageIndices = allPageIndices.Where(i => i % 2 == 0);

pdf.AddHtmlHeaders(header, 1, evenPageIndices);
pdf.SaveAs("EvenPages.pdf");
' Get even page indexes (resulting in odd page numbers)
Dim evenPageIndices = allPageIndices.Where(Function(i) i Mod 2 = 0)

pdf.AddHtmlHeaders(header, 1, evenPageIndices)
pdf.SaveAs("EvenPages.pdf")
$vbLabelText   $csharpLabel

Sadece Tek Sayfaları Nasıl Numara Veririm?

Tek indeks numaralarına sahip sayfalara sayfa numaraları ekleyin. Bu yaklaşım, çift taraflı baskı senaryolarında, sayfa numaralarının basılı belgenin yalnızca bir tarafında görünmesi gerektiğinde yaygındır.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-odd-pages.cs
// Get odd page indexes (resulting in even page numbers)
var oddPageIndexes = allPageIndices.Where(i => i % 2 != 0);

pdf.AddHtmlHeaders(header, 1, oddPageIndexes);
pdf.SaveAs("OddPages.pdf");
' Get odd page indexes (resulting in even page numbers)
Dim oddPageIndexes = allPageIndices.Where(Function(i) i Mod 2 <> 0)

pdf.AddHtmlHeaders(header, 1, oddPageIndexes)
pdf.SaveAs("OddPages.pdf")
$vbLabelText   $csharpLabel

Sadece Son Sayfaya Sayfa Numarası Nasıl Eklerim?

Yalnızca son sayfaya sayfa numarası ekleyin. Bu, özet sayfaları için veya belgenin sonunu belirtmek istediğinizde yararlıdır.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-last-page-only.cs
// Last page only
var lastPageIndex = new List<int>() { pdf.PageCount - 1 };

pdf.AddHtmlHeaders(header, 1, lastPageIndex);
pdf.SaveAs("LastPageOnly.pdf");
' Last page only
Dim lastPageIndex = New List(Of Integer)() From {pdf.PageCount - 1}

pdf.AddHtmlHeaders(header, 1, lastPageIndex)
pdf.SaveAs("LastPageOnly.pdf")
$vbLabelText   $csharpLabel

Sadece İlk Sayfaya Sayfa Numarası Nasıl Eklerim?

Yalnızca ilk sayfaya sayfa numarası ekleyin. Bu, kapak sayfaları için veya yalnızca ilk sayfanın tanımlanmasını gerektiren belgeler için uygundur.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-first-page-only.cs
// First page only
var firstPageIndex = new List<int>() { 0 };

pdf.AddHtmlHeaders(header, 1, firstPageIndex);
pdf.SaveAs("FirstPageOnly.pdf");
' First page only
Dim firstPageIndex = New List(Of Integer)() From {0}

pdf.AddHtmlHeaders(header, 1, firstPageIndex)
pdf.SaveAs("FirstPageOnly.pdf")
$vbLabelText   $csharpLabel

Sayfa Numarası Eklerken İlk Sayfayı Nasıl Atlarım?

Başlığı uygularken ilk sayfayı atla. Bu yaygın gereklilik, kapak veya başlık sayfaları olan belgeler için sayfa numaralarının görüntülenmemesi gereken belgeler için geçerlidir. PDF formları veya bir kapak mektubu içeren belgelerle çalışırken, bu teknik profesyonel formatlamayı sağlar.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-skip-first-page.cs
// Skip the first page
var skipFirstPage = allPageIndices.Skip(1);

pdf.AddHtmlHeaders(header, 1, skipFirstPage);
pdf.SaveAs("SkipFirstPage.pdf");
' Skip the first page
Dim skipFirstPage = allPageIndices.Skip(1)

pdf.AddHtmlHeaders(header, 1, skipFirstPage)
pdf.SaveAs("SkipFirstPage.pdf")
$vbLabelText   $csharpLabel

İlk Sayfayı Atlayıp Sayfa Numaralandırmaya İkinci Sayfadan Nasıl Başlarım?

İlk sayfayı atlayarak sayfa numaralandırmaya ikinci sayfadan başlayın ve onu sayfa 1 olarak kabul edin. Bu yaklaşım, kapak sayfasının sayfa numaralandırma dizisinde sayılmaması gereken, akademik makaleler veya resmi raporlar gibi belgeler için uygundur.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-skip-first-page-and-dont-count-it.cs
// Skip the first page and start numbering the second page as page 1
var skipFirstPageAndDontCountIt = allPageIndices.Skip(1);

pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt);
pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf");
' Skip the first page and start numbering the second page as page 1
Dim skipFirstPageAndDontCountIt = allPageIndices.Skip(1)

pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt)
pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf")
$vbLabelText   $csharpLabel

Tüm meta veri seçeneklerini keşfetmek için, IronPDF Başlık ve Altbilgi Kılavuzunu ziyaret edin.

Gelişmiş Sayfa Numaralandırma Teknikleri

Temel sayfa numaralandırmanın ötesinde, IronPDF aşağıdaki senaryoları destekler:

  • Bölüm bazlı numaralandırma: Farklı belge bölümleri için farklı numaralandırma şemaları
  • Roma rakamları: Önsöz veya ek sayfaları için özel biçimlendirme
  • Birden çok numaralandırma sistemleri: Tek bir belgede farklı numaralandırma stillerini birleştirme
    Sayfalar eklerken veya kopyalarken toplam sayfa sayılarını güncelleme

Bu teknikler, teknik kılavuzlar, akademik makaleler veya karmaşık sayfa numaralandırma şemaları gerektiren yasal belgeler oluştururken değerlidir.

Sayfa Numaraları İçin En İyi Uygulamalar

PDF'lerinize sayfa numaraları eklerken bu uygulamaları göz önünde bulundurun:

  1. Tutarlılık: Belgeniz boyunca tutarlı konumlandırma ve biçimlendirme sağlayın.
  2. Okunabilirlik: Sayfa numaralarının açıkça görülebilir olduğundan ve içerikle üst üste binmediğinden emin olun.
  3. Erişilebilirlik: Kolay okuma için uygun yazı tipleri ve kontrast kullanın.
  4. Profesyonel görünüm: Sayfa numarası stilini belgenizin genel tasarımıyla eşleştirin.

Bu yönergeleri izleyerek ve IronPDF'in esnek sayfa numaralandırma yeteneklerinden yararlanarak, belirli gereksinimlerinizi karşılayan profesyonel, iyi organize edilmiş PDF belgeleri oluşturabilirsiniz.

Sıkça Sorulan Sorular

C#'da bir PDF'ye temel sayfa numaraları nasıl eklerim?

IronPDF ile, TextHeaderFooter veya HtmlHeaderFooter sınıfında {page} ve {total-pages} yer tutucu dizgilerini kullanarak sayfa numaraları ekleyebilirsiniz. Bu yer tutucuları HTML başlık veya altbilgi parçacığınıza dahil edin, ve PDF'yi oluşturduğunuzda IronPDF bunları otomatik olarak mevcut sayfa numarası ve toplam sayfa sayısı ile değiştirecektir.

Sayfa numaralarını doğrudan render seçenekleriyle ekleyebilir miyim?

Evet, IronPDF'nin ChromePdfRenderer'inin render seçeneklerine doğrudan sayfa numaraları ekleyebilirsiniz. Bu yaklaşım, PDF çıktısını özelleştirirken render yapılandırmasının bir parçası olarak sayfa numarası yer tutucu dizgileri ile başlık ve altbilgiler ayarlamanıza olanak tanır.

Sayfa numaralandırma için hangi yer tutucu dizgileri vardır?

IronPDF, sayfa numaralandırma için iki ana yer tutucu dizgi sağlar: {page} mevcut sayfa numarasını gösterirken, {total-pages} belgedeki toplam sayfa sayısını gösterir. PDF oluşturulduğunda bu yer tutucular otomatik olarak gerçek değerlerle değiştirilir.

Sayfa numaralarını yalnızca belirli sayfalara uygulayabilir miyim?

Evet, IronPDF size belgenizde sayfa numaralarının nerede görüneceğini kontrol etmenizi sağlar. Sayfa numaralarını hangi sayfaların göstermesi gerektiğini belirleyebilir, kapak sayfalarından hariç tutabilir veya yalnızca PDF'nizdeki belirli bölümlere uygulayabilirsiniz.

Sayfa numaralarının yerleştirilmesi ve stilini özelleştirmek mümkün mü?

Kesinlikle. IronPDF'nin HtmlHeaderFooter sınıfı ile, HTML ve CSS kullanarak sayfa numaralarının yerleştirilmesini, stilini ve formatını özelleştirebilirsiniz. Pozisyon, yazı tipi, boyut, renk ve hatta ayırıcı çizgiler veya diğer dekoratif unsurlar ekleyebilirsiniz.

Mevcut PDF belgelerine sayfa numaraları ekleyebilir miyim?

Evet, IronPDF yeni PDF'lere ve mevcut PDF belgelerine sayfa numaraları eklemeyi destekler. Mevcut bir PDF belgesini yükleyebilir ve tüm belgeyi baştan yaratmadan sayfa numaraları ile başlıklar veya altbilgiler uygulayabilirsiniz.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku
İnceleyen
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluk Ekibi
Jeff, aynı zamanda .NET ve Visual Studio ekipleri için Baş Program Yöneticisi'dir. Microsoft geliştirici etkinlikleri (Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit) için atölye çalışmaları, sunumlar yazar ve içerik planlar ve haftada iki kez yayınlanan 'Fritz ve Arkadaşları' canlı yayınının ev sahibidir.
Başlamaya Hazır mısınız?
Nuget Indirmeler 18,332,619 | Sürüm: 2026.4 yeni yayınlandı
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizin PDF olduğunu izleyin.