
C# 14 PDF Üretici – Kapsamlı Kılavuz (2025 Baskısı)
"Portable Document Format", veya kısaca PDF, Adobe tarafından oluşturulmuş bir dosya formatıdır. PDF'ler, metin ve fotoğrafların düzenlenmesi gereken belgeleri sunarken kullanışlıdır. Günümüz dünyasında, PDF dosyaları belgelerin oluşturulması ve faturalandırma için tüm kurumsal sektörlerde vazgeçilmezdir. Piyasada bulunan birkaç PDF kütüphanesi sayesinde, PDF'lerin oluşturulması neredeyse içgüdüsel hale gelmiştir. Projeniz için bir kütüphane kullanmadan önce, her birinin faydalarını ve özelliklerini değerlendirerek sizin için uygun olan PDF kütüphanesini seçmek önemlidir.
Bu makalede, iText C# kullanarak PDF'ye sayfa numaraları nasıl eklenir göreceğiz. Ayrıca, iText'i IronPDF ile karşılaştıracağız.
iText Kullanarak PDF'ye Sayfa Numaraları Nasıl Eklenir
- Herhangi bir IDE kullanarak yeni bir C# projesi oluşturun.
- Yeni bir PDF nesnesi oluşturun.
- Sayfa numaralarını HTML altbilgisine ekleyin.
- HTML materyalinden PDF oluşturun.
- Bir PDF dosyasını bilgisayarınıza kaydedin.
IronPDF nedir
IronPDF, geliştiricilerin PDF'ler üretmesini, görüntülemesini ve düzenlemesini kolayca yapmasını sağlayan sağlam bir PDF .NET Framework'tür. IronPDF, içsel olarak bir krom motoru üzerinde çalışan gelişmiş bir araçtır. HTML5, JavaScript, CSS ve resim dosyalarını PDF'ye dönüştürebilir, özel Başlıklar ve Alt Bilgiler ekleyebilir ve bir tarayıcıda göründüğü gibi PDF'ler üretebilir. HTML, ASPX, Razor View ve MVC gibi birçok çevrimiçi ve net format, IronPDF tarafından desteklenir.
IronPDF Özellikleri
*.NET C# kodunu kullanarak PDF dosyaları oluşturma, okuma ve düzenleme işlemleri yapmak. Kullanıcı Temsilcileri, Vekiller, Çerezler, HTTP başlıkları ve form değişkenlerini yönetirken HTML giriş formlarını kullanarak oturum açmayı sağlayarak bir web sitesi URL'si bağlantısından PDF oluşturma süreci. Zaten mevcut olan PDF dosyalarından görüntülerin kaldırılması. PDF'nin elemanlarını içerenler: tablo, metin, fotoğraflar, yer imleri, su işaretleri, başlıklar, alt bilgi ve diğerleri. Birçok PDF belgelerinin sayfalarını ayırma veya birleştirme yeteneği.
IronPDF dokümantasyonu hakkında daha fazla bilgi için buraya başvurun.
Installing IronPDF
Visual Studio Araçları içinde, NuGet Paket Yöneticisi'ni seçin ve Araçlar altında Visual Komut Satırı arabirimini bulabilirsiniz. Aşağıdaki komut, paket yönetim terminali sekmesine girilmelidir.
Ya da Paket yöneticisi yöntemini kullanabiliriz. Paket, Visual Studio'nun NuGet Paket Yöneticisi seçeneği ile direkt çözüme kurulabilir. NuGet web sitesinde paketleri bulmak için bir arama kutusu mevcuttur. Sadece paket yöneticisinde "IronPDF" aramamız yeterlidir, aşağıdaki ekran görüntüsü bunu gösteriyor:

Yukarıda ilgili arama sonuçlarının listesi gösterilmektedir. Paketin sisteminize kurulabilmesi için gerekli seçimleri yapınız.
Paket indirildikten ve kurulduktan sonra, mevcut projede kullanılabilir.
iText Nedir
iText, C#'ta PDF belgeleri oluşturmak ve değiştirmek için esnek bir kütüphanedir. Çeşitli özellikler sunar, şifreleme, PDF birleştirme, metin ve resim çıkarma gibi. iText, PDF'lere sayfa numaraları ekleme gibi çok sayıda görev için verimli bir araçtır.
iText Özellikleri
- Bir API aracılığıyla iText kütüphanesinden PDF belgeleri üretmek mümkündür.
- Hem HTML hem de XML dizgileri, iText programı kullanılarak PDF dosyalarına parse edilebilir.
- iText kütüphanesini kullanarak PDF belgelerine yer imleri, sayfa numaraları ve işaretçiler ekleyebiliriz.
- iText kütüphanesini kullanarak bir PDF belgesini birçok PDF'ye bölebiliriz veya birden çok PDF belgesini tek bir PDF olarak birleştirebiliriz.
- iText ile PDF formlarını değiştirebiliriz.
iText Kurun
NuGet paket yöneticisini kullanarak iText'i arayın. iText işlevsellikleri birden fazla pakete yayıldığı için iText ve iText.pdfhtml kurulum gerektirir.
Visual Komut Satırı arabirimini seçerseniz, aşağıdaki paketler kurulmalıdır:
iText, en son sürüm olduğundan, çözümümüzde kullandığımız versiyondur.
IronPDF Kullanarak Sayfa Numaraları Ekleme
IronPDF'nin kapsamlı kütüphanesi sayesinde PDF dosyalarına sayfa numaraları eklemek basittir. Ayrıntı için aşağıdaki koda bakın.
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Create a new HtmlToPdf renderer instance
var renderer = new HtmlToPdf();
// Define the HTML content with a header
string header = "<h1>Hello IronPDF!</h1>";
// Render the HTML as a PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
// Define the HTML footer with page numbers
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
};
// Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter);
// Save the PDF document to a file
pdf.SaveAs("output.pdf");
}
}Imports IronPdf
Module Program
Sub Main(args As String())
' Create a new HtmlToPdf renderer instance
Dim renderer As New HtmlToPdf()
' Define the HTML content with a header
Dim header As String = "<h1>Hello IronPDF!</h1>"
' Render the HTML as a PDF document
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(header)
' Define the HTML footer with page numbers
Dim htmlFooter As New HtmlHeaderFooter() With {
.HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
}
' Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter)
' Save the PDF document to a file
pdf.SaveAs("output.pdf")
End Sub
End ModuleÖncelikle, PDF'ye dönüştürülmesi gereken HTML metnini tanımlarız. Bu HTML içeriği bir HTML paragrafından veya bütün bir HTML sayfasından oluşabilir. Daha sonra, HTML'den PDF'e dönüşüm fonksiyonu sunan HtmlToPdf sınıfının bir örneğini oluşturuyoruz RenderHtmlAsPdf.
HTML içeriği, RenderHtmlAsPdf fonksiyonuna bir argüman olarak geçirilir. PDF'ye dönüştürülmesi gereken HTML materyalini belirliyoruz. Sayfa numaraları, bu HTML metninin alt bilgi bölümündeki yer tutucular veya {page} of {total-pages} olarak temsil edilir.
Oluşturulan PDF belge, bu yöntem tarafından bir PdfDocument nesnesi olarak döndürülür. SaveAs yöntemi kullanılarak, PDF belgeyi 'output.pdf' adıyla bir dosyaya kaydediyoruz. Alternatif olarak, sistemin varsayılan PDF okuyucusuyla oluşturulan PDF belgesini açmak için OpenInDefaultPDFViewer fonksiyonunu kullanabiliriz. Ayrıca, yukarıdaki yöntemi kullanarak mevcut bir PDF dosyasına sayfa numaraları ekleyebiliriz.

IronPDF kodu hakkında daha fazla bilgi için buraya başvurun.
iText Kullanarak Sayfa Numaraları Ekleme
Öncelikle, yeni bir PDF belgesi oluşturmak için iText kullanalım. Aşağıda sayfa numarasına sahip yeni bir PDF belgesi nasıl oluşturuluğuna dair basit bir örnek verilmiştir:
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
// Create a new PDF document
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("output.pdf", FileMode.Create));
// Open the document to add content
doc.Open();
doc.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
doc.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnOpenDocument(PdfWriter writer, Document document)
{
base.OnOpenDocument(writer, document);
}
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
// Create a table to hold the page number
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
cell.Border = 0;
table.AddCell(cell);
// Write the table at the bottom of the page
table.WriteSelectedRows(0, -1, 150f, document.Bottom, writer.DirectContent);
}
public override void OnCloseDocument(PdfWriter writer, Document document)
{
base.OnCloseDocument(writer, document);
}
}
}Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Namespace ConsoleApp1
Friend Class Program
Shared Sub Main(ByVal args As String())
' Create a new PDF document
Dim doc As New Document()
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream("output.pdf", FileMode.Create))
' Open the document to add content
doc.Open()
doc.Add(New Paragraph("Hello, world!"))
' Attach page number event to PDF writer
writer.PageEvent = New PageNumberEventHandler()
' Close the document
doc.Close()
End Sub
End Class
Public Class PageNumberEventHandler
Inherits PdfPageEventHelper
Public Overrides Sub OnOpenDocument(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnOpenDocument(writer, document)
End Sub
Public Overrides Sub OnEndPage(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnEndPage(writer, document)
' Create a table to hold the page number
Dim table As New PdfPTable(1)
table.TotalWidth = 300.0F
table.HorizontalAlignment = Element.ALIGN_CENTER
Dim cell As New PdfPCell(New Phrase($"Page {writer.PageNumber}"))
cell.Border = 0
table.AddCell(cell)
' Write the table at the bottom of the page
table.WriteSelectedRows(0, -1, 150.0F, document.Bottom, writer.DirectContent)
End Sub
Public Overrides Sub OnCloseDocument(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnCloseDocument(writer, document)
End Sub
End Class
End NamespaceÖncelikle Document ve PdfWriter için yeni bir nesne oluşturuyoruz, bu bize boş bir PDF dosyası oluşturma imkanı tanır. PDF belgenize metin, fotoğraf, tablo ve diğer türde içerik ekleyebilirsiniz. Demo amaçlı bazı örnek metinler eklemek için bir Paragraph kullanabiliriz. Şimdi, PDF belgesine sayfa numaralarını eklemek önemli adımdır. Bunun için iText'in sayfa olaylarını kullanacağız. PDF oluşturma işlemi sırasında belirli olaylar gerçekleştiğinde çağrılan yöntemleri geçersiz kılabilmek için PdfPageEventHelper sınıfından türetilen bir sınıf tanımlayarak başlıyoruz.
Bu sınıfta, mevcut sayfa numarasını içeren tek bir hücre bulunan bir tablo eklemek için OnEndPage fonksiyonu geçersiz kılınır. Son olarak, belgeyi kapatmadan önce, PageNumberEventHandler sınıfımızın bir örneğini PdfWriter nesnesine bağlamamız gerekir. Bu yapılandırma ile, her yeni sayfa PDF belgisine eklendiğinde, PageNumberEventHandler sınıfının OnEndPage fonksiyonu çağrılır ve her sayfanın altına sayfa numarası eklenir. Mevcut bir PDF belgesine de sayfa numaralarını ekleyebiliriz.

Sonuç
Özetlemek gerekirse, IronPDF'nin uzmanlaşma, kullanılabilirlik ve .NET ortamları ile sorunsuz entegrasyonu, HTML'den PDF'e dönüştürme ve ilgili işlevler gerektiren senaryolar için en iyi seçenek olarak konumlanmasını sağlar, her ne kadar iText, C# PDF manipülasyon kütüphaneleri alanında hala güçlü bir rakip olsa da. IronPDF ile, HTML içeriğinden faturalar, raporlar ve dinamik olarak üretilen belgeleri, modern geliştirme ortamında başarıya ulaşmanız için gereken kolaylık, etkinlik ve uyarlanabilirlikle yaratabilir ya da düzenleyebilirsiniz.
IronPDF'in Lite sürümünde, kalıcı lisans, yükseltme seçenekleri ve bir yıllık yazılım bakımı dahildir. Filigranlı deneme süresi, kullanıcıların ürünü pratik ortamlarda değerlendirmesine olanak tanır. sayfa daha fazla bilgi için ziyaret edin. Iron Software hakkında daha fazla bilgi almak için bu web sitesini ziyaret edin.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


