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

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, başlık/altbilgilerde {page} ve {total-pages} yer tutucu dizelerini kullanarak C#'da PDF'lere sayfa numaraları eklemenizi sağlar; ayrıca, gelişmiş belge gezinme için bunları belirli sayfalara veya bölümlere uygulama seçenekleri de sunar.

Sayfa numaraları, bir PDF belgesinde her sayfaya atanan ardışık numaralardır. Belge gezintisi için önemli bileşenlerdir ve okuyucuların belirli sayfaları bulmasına ve konumlarını takip etmelerine yardımcı olurlar. Sayfa numaraları, içeriğin kolayca alıntılanmasını ve referanslandırılmasını da sağlar. IronPDF ile PDF'nize sayfa numaralarını eklemek kolaydır.

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

IronPDF kullanarak PDF belgelerine sayfa numaraları ekleyin. Minimum C# kodu ile header veya footera dinamik sayfa numaraları ekleyebilir, konumlarını özelleştirebilir ve hangi sayfalarda görüneceklerini belirleyebilirsiniz. Yeni PDF'ler veya mevcutlarla çalışırken, IronPDF, belge gezintisini ve organizasyonunu geliştirmenize olanak sağlayan esnek bir çözüm sunar.

  1. IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçacığını kopyalayın ve ç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 için dağıtım yapın

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

    arrow pointer


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

{page} ve {total-pages} yer tutucu dizelerini TextHeaderFooter veya HtmlHeaderFooter sınıfıyla birlikte kullanarak, geçerli sayfa numarasını ve toplam sayfa sayısını ekleyebilirsiniz. Bu işlevsellik, yeni PDF'ler oluştururken veya profesyonel formatlama gerektiren HTML'yi PDF'ye 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 aşağıda gösterilmiştir:

Ayrıca, sayfa numarası yer tutucu dizeleriyle başlık ve altbilgileri doğrudan ChromePdfRenderer'nin görüntüleme seçeneklerine ekleyebilirsiniz. Bu yaklaşım, PDF çıktınızı özelleştirmek için işleme seçenekleriyle çalışırken kullanışlı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österildiğinden emin olmak için sayfa kırılmaları ve özel kenar boşluklarını düşünün.

Yalnızca Belirli Sayfalara Sayfa Numaraları Nasıl Eklerim?

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

Önce, sayfa numaraları eklemek 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

Yalnızca Çift Sayfaları Nasıl Numaralandırırım?

Önceki örneğe dayanarak, bu kod yalnızca çift sayfa indekslerine sayfa numaraları uygular. Filtreleme çift sayfa indeksleri için olduğundan, elde edilen PDF tek sayfa numaralarında numaralar gösterir. Sayfa indeksleri sıfırdan başlar, oysa sayfa numaraları birden başlar. Bu teknik, geleneksel kitap formatına uyan belgeler veya birleştirilmiş PDF belgeleriyle çalışırken kullanılır.

: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

Yalnızca Tek Sayfaları Nasıl Numaralandırırım?

Tek indeks numaralı sayfalara sayfa numaraları ekleyin. Bu yaklaşım, sayfa numaralarının yalnızca bir tarafta görünmesi gereken çift taraflı baskı senaryolarında 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

Yalnızca Son Sayfaya Sayfa Numarası Nasıl Eklerim?

Yalnızca son sayfaya bir sayfa numarası ekleyin. Bu, özet sayfaları veya belgenin sonunu belirtirken faydalı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

Yalnızca İlk Sayfaya Sayfa Numarası Nasıl Eklerim?

Yalnızca ilk sayfaya bir sayfa numarası ekleyin. Bu, kapak sayfaları veya yalnızca ilk sayfanın tanımlanması gereken 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 Numaraları Eklerken İlk Sayfayı Nasıl Atlarım?

Üstbilgiyi uygularızken ilk sayfayı atlayın. Bu yaygın gereklilik, sayfa numaralarını göstermemesi gereken kapak veya başlık sayfalarına sahip belgeler için geçerlidir. PDF formları veya kapak mektubu içeren belgelerle çalışırken, bu teknik profesyonel bir şekilde 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 İkinci Sayfadan 1'den Başlayarak Sayı Vermek Nasıl Yapılır?

İlk sayfayı atlayın ve ikinci sayfayı 1 olarak kabul ederek sayı vermeye başlayın. 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 Sayfa Başlıkları ve Altbilgileri Kılavuzu'a gidin.

İleri Seviye Sayfa Numaralandırma Teknikleri

Temel sayfa numaralandırmanın ötesinde, IronPDF şunları içeren ileri seviye senaryoları destekler:

  • Bölüm tabanlı numaralandırma: Belge bölümleri için farklı numaralandırma düzenleri
  • Romen rakamları: Önsöz veya ek sayfaları için özel biçimler
  • Çoklu numara sistemleri: Tek bir belgede farklı numaralandırma stillerinin kombinasyonu
  • Dinamik sayfa sayıları: Sayfa eklerken veya kopyalarken toplam sayfa sayılarını güncelleme

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

Sayfa Numaraları için En İyi Uygulamalar

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

  1. Tutarlılık: Belgenizin her yerinde tutarlı konumlandırma ve biçimlendirme sürdürün.
  2. Okunabilirlik: Sayfa numaralarının net bir şekilde görülen ve içerikle çakışmayan olduğundan emin olun.
  3. Erişilebilirlik: Kolay okuma için uygun yazı tipi boyutlarını ve kontrastını kullanın.
  4. Profesyonel görünüm: Sayfa numarası stilini belgenizin genel tasarımıyla eşleştirin

IronPDF'in esnek sayfa numaralandırma yeteneklerini kullanan bu kılavuzlara uymak, belirli gereksinimlerinizi karşılayan, profesyonel ve iyi organize edilmiş PDF belgeleri oluşturmanıza olanak tanır.

Sıkça Sorulan Sorular

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

IronPDF ile {page} ve {total-pages} yer tutucu dizelerini TextHeaderFooter veya HtmlHeaderFooter sınıfında kullanarak sayfa numaraları ekleyebilirsiniz. Bu yer tutucuları başlık veya altbilgi HTML parçanıza dahil edin ve IronPDF, PDF oluşturulurken 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'in ChromePdfRenderer'ın render seçeneklerine doğrudan sayfa numarası ekleyebilirsiniz. Bu yaklaşım, render yapılandırmasının bir parçası olarak sayfa numarası yer tutucu dizeleriyle başlıklar ve altbilgiler ayarlamanıza imkan tanır, özellikle PDF çıktısını render seçenekleriyle özelleştirirken kullanışlıdır.

Sayfa numaralandırma için hangi yer tutucu dizeler mevcuttur?

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

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

Evet, IronPDF belgenizde sayfa numaralarının nerede görüneceğini kontrol etmenize izin verir. Sayfa numaralarının hangi sayfalarda gösterileceğini belirleyebilir, bu sayede onları kapak sayfalarından çıkartabilir veya yalnızca PDF'inizin belirli bölümlerine uygulayabilirsiniz.

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

Kesinlikle. IronPDF'in HtmlHeaderFooter sınıfı ile HTML ve CSS kullanarak sayfa numaralarının yerleşimini, stilini ve formatını özelleştirebilirsiniz. Konumlarını, yazı tipini, boyutunu, rengini kontrol edebilir ve hatta bölü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 tekrar oluşturmadan başlıklar veya altbilgiler ile sayfa numaraları uygulayabilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Gözden Geçiren
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluğu Ekibi
Jeff, .NET ve Visual Studio ekipleri için bir Baş Program Yöneticisidir. .NET Conf sanal konferans serisinin baş yapımcısıdır ve haftada iki kez canlı yayınlanan 'Fritz and Friends' adlı bir akış programı sunar; burada izleyicilerle birlikte teknoloji konuşur ve kod yazar. Jeff, en büyük Microsoft geliştirici etkinlikleri için atölyeler, sunumlar ve içerik planları yazar, Microsoft Build, Microsoft Ignite, .NET Conf ve Microsoft MVP Summit gibi etkinliklerde yer alır.
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,014,616 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.