C# Kullanarak iTextSharp ile PDF Belgelerini Nasıl Okurum:
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
"Portable Document Format", veya kısaca PDF, Adobe tarafından oluşturulmuş bir dosya formatıdır. PDF'ler, metin ve resimlerin tutarlı bir şekilde biçimlendirileceği belgeler 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 ile IronPDF 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 içeriğinden bir PDF oluşturun.
- PDF dosyasını bilgisayarınıza kaydedin.
IronPDF nedir
IronPDF, geliştiricilerin PDF oluşturmasını, görüntülemesini ve düzenlemesini kolaylaştırmak amacıyla kullanılan güçlü 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 görüntü dosyalarını PDF'ye dönüştürebilir, özel Başlıklar ve Alt Bilgiler ekleyebilir ve bir tarayıcıda göründükleri şekilde PDF'ler üretebilir. HTML, ASPX, Razor View ve MVC gibi birçok çevrimiçi ve net format, IronPDF tarafından desteklenir.
IronPDF Özellikleri
- PDF dosyalarını oluşturmak, okumak ve kolayca düzenlemek için .NET C# kodunu kullanmak.
- Kullanıcı Aracısı, Proxyler, Çerezler, HTTP başlıkları ve form değişkenlerini yöneterek HTML giriş formlarını kullanarak giriş yapmayı etkinleştirirken bir web sitesi URL bağlantısından PDF'ler oluşturmak.
- Mevcut PDF dosyalarından görüntüler çıkarmak.
- PDF'ye öğeler eklemek: tablo, metin, görüntüler, yer imleri, filigranlar, başlıklar, alt bilgileri ve daha fazlası.
- Birden çok PDF belgesinden sayfaları kolayca ayırma ve birleştirme özelliği.
IronPDF belgeleri hakkında daha fazla bilgi edinmek için, buraya bakın.
Installing IronPDF
Visual Studio Araçları içinde, NuGet Paket Yöneticisi'ni seçin ve Visual Komut Satırı arabirimini Araçlar altında bulabilirsiniz. Aşağıdaki komut, paket yönetim terminali sekmesine girilmelidir.
Install-Package IronPdf
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ıdaki resim, ilgili arama sonuçlarını gösterir. 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. Şifreleme, PDF birleştirme, metin ve görüntü çıkarma ve daha birçok özellik sunar. 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 belgelerimize yer imleri, sayfa numaraları ve işaretleyiciler ekleyebiliriz.
- Ayrıca, iText kütüphanesini kullanarak bir PDF belgesini birkaç PDF'ye ayırabilir veya birden fazla PDF belgesini tek bir PDF'de birleştirebiliriz.
- iText ile PDF formlarını değiştirebiliriz.
iText Kurun
iText'i aramak için NuGet paket yöneticisini kullanı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:
Install-Package iText7
Install-Package itext7.pdfhtml
Install-Package iText7
Install-Package itext7.pdfhtml
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. Aşağıdaki kodu örnek olarak görün:
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Initialize the IronPdf renderer
var renderer = new IronPdf.HtmlToPdf();
// HTML content to convert to PDF
string header = "<h1>Hello Ironpdf!</h1>";
// Render the HTML content to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
// Define the footer with page number placeholders
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
};
// Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter);
// Save the output PDF file
pdf.SaveAs("output.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Initialize the IronPdf renderer
var renderer = new IronPdf.HtmlToPdf();
// HTML content to convert to PDF
string header = "<h1>Hello Ironpdf!</h1>";
// Render the HTML content to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
// Define the footer with page number placeholders
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
};
// Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter);
// Save the output PDF file
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Initialize the IronPdf renderer
Dim renderer = New IronPdf.HtmlToPdf()
' HTML content to convert to PDF
Dim header As String = "<h1>Hello Ironpdf!</h1>"
' Render the HTML content to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(header)
' Define the footer with page number placeholders
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 output PDF file
pdf.SaveAs("output.pdf")
End Sub
End Class
Açıklama
- İşleyici Başlat: HTML- PDF dönüştürme özelliği sunan
HtmlToPdf'in bir örneği oluşturuyoruz. - HTML İçeriğini Tanımlayın: PDF'ye dönüştürülmesi gereken HTML içeriği belirtilir.
- HTML İçeriğini İşleme: HTML'i bir PDF belgesine dönüştürmek için
RenderHtmlAsPdffonksiyonu kullanılır. - Alt Bilgiyi Tanımlayın: Sayfa numaraları, HTML alt bilgi metninde yer tutucu olarak temsil edilir.
- Alt Bilgi Ekleme ve PDF'yi Kaydetme: Belgeye alt bilgi uygulayın ve PDF dosyası olarak kaydedin.

IronPDF kodu hakkında daha fazla bilgi edinmek için, buraya bakın.
iText Kullanarak Sayfa Numaraları Ekleme
Öncelikle, yeni bir PDF belgesi oluşturmak için iText kullanalım. Sayfa numaralarıyla yeni bir PDF belgesi yapmanın temel bir örneği:
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 document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
// Open the document to add content
document.Open();
document.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
document.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
// Create a table for the page number
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
// Add page number to the table cell
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, 150, document.Bottom, writer.DirectContent);
}
}
}
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 document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
// Open the document to add content
document.Open();
document.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
document.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
// Create a table for the page number
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
// Add page number to the table cell
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, 150, document.Bottom, writer.DirectContent);
}
}
}
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 document As New Document()
Dim writer As PdfWriter = PdfWriter.GetInstance(document, New FileStream("output.pdf", FileMode.Create))
' Open the document to add content
document.Open()
document.Add(New Paragraph("Hello, world!"))
' Attach page number event to PDF writer
writer.PageEvent = New PageNumberEventHandler()
' Close the document
document.Close()
End Sub
End Class
Public Class PageNumberEventHandler
Inherits PdfPageEventHelper
Public Overrides Sub OnEndPage(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnEndPage(writer, document)
' Create a table for the page number
Dim table As New PdfPTable(1)
table.TotalWidth = 300F
table.HorizontalAlignment = Element.ALIGN_CENTER
' Add page number to the table cell
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, document.Bottom, writer.DirectContent)
End Sub
End Class
End Namespace
Açıklama
- PDF Belgesi Oluştur: Yeni bir
DocumentvePdfWriterbaşlatarak boş bir PDF dosyası üretin. - İçerik Ekleme: Belgeye paragraflar gibi temel içerik ekleyin.
- Sayfa Numaralandırma: Sayfa numaralarını eklemek için iText'in olay işleme özelliklerini kullanıyoruz. Biz
PdfPageEventHelper'den türeyen özel bir sınıf oluşturuyoruz. OnEndPageÜzerine Yazma: Özel sınıfta, her sayfanın altına sayfa numaraları eklemek içinOnEndPagemetodunu geçersiz kılın.- Belgeyi Kapatma: Belgeyi kapatarak tamamlayın.

Sonuç
Özetle, IronPDF'nin uzmanlığı, kullanım kolaylığı, ve .NET ortamları ile kusursuz entegrasyonu, HTML'den PDF'e dönüşüm ve ilgili fonksiyonlar gerektiren senaryolar için onu en iyi seçenek yapar, ancak iText halen C# PDF manipulasyon kütüphaneleri dünyasında güçlü bir rakiptir. IronPDF ile, HTML içeriğinden dinamik olarak oluşturulan belgeler, faturalar ve raporlar yaratabilir ve modern geliştirme ortamında başarının gerektirdiği kolaylık, etkinlik ve uyarlamayı elde edebilirsiniz.
IronPDF'nin Lite sürümüne kalıcı bir 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. Daha fazla bilgi edinmek için lisansı sayfasını ziyaret edin. Iron Software hakkında daha fazla bilgi için web sitelerini ziyaret edin.
Sıkça Sorulan Sorular
C# içinde iTextSharp kullanarak bir PDF'e sayfa numaraları nasıl ekleyebilirim?
C# içinde iTextSharp kullanarak sayfa numaraları eklemek için, PdfPageEventHelper'dan türeyen özel bir sınıf oluşturabilirsiniz. Sayfa numaralarını eklemek için OnEndPage metodunu geçersiz kılın ve bu olayı PdfWriter örneğine ekleyin.
PDF'ler neden çeşitli sektörlerde önemlidir?
PDF'ler metin ve resimlerin tutarlı formatlarını korur, bu da belge oluşturma ve kurumsal sektörlerde faturalama için esastır. Profesyonel bir şekilde belgeleri sunmak için güvenilirdir.
PDF işleme için IronPDF kullanmanın avantajları nelerdir?
IronPDF, .NET ortamlarında PDF oluşturma, görüntüleme ve düzenleme için güçlü özellikler sunar. HTML, JavaScript ve resimleri PDF'ye dönüştürmede mükemmel, özel başlıklar, altbilgiler ve filigranları destekler.
IronPDF, JavaScript desteğiyle HTML'den PDF'ye dönüştürme yapabilir mi?
Evet, IronPDF, JavaScript dahil HTML içeriğini PDF'lere dönüştürebilir ve web tarayıcısındaki görünüm ve işlevselliği korur.
IronPDF'yi bir C# projesine nasıl kurabilirim?
IronPDF'yi Visual Studio'da NuGet Paket Yöneticisi kullanarak kurabilirsiniz. 'IronPDF' araması yaparak proje ekleyin ve özelliklerini kullanmaya başlayın.
IronPDF'nin deneme süresinin önemi nedir?
IronPDF'nin deneme süresi, geliştiricilerin gerçek dünya uygulamalarında suyla işaretlenmiş deneme ile özelliklerini ve işlevselliğini keşfetmelerine olanak tanır ve bir lisans satın almadan önce uygunluğunu değerlendirmelerine yardımcı olur.
Sayfa numaraları ekleme konusunda iTextSharp ile IronPDF nasıl karşılaştırılır?
iTextSharp, sayfa numaraları eklemek için olay işleme kullanırken, IronPDF, başlıklar ve altbilgiler için HTML şablonları ile daha basit bir yaklaşım sağlar, bu da kullanım kolaylığı arayan .NET geliştiricileri için idealdir.
Bir C# projesi için bir PDF kütüphanesi seçerken nelere dikkat edilmelidir?
Her kütüphanenin sunduğu özellikleri düşünün. Örneğin, IronPDF HTML'den PDF'ye dönüştürme konusunda uzmanlaşmıştır ve .NET çerçeveleriyle iyi entegre olurken, iTextSharp güçlü şifreleme ve metin çıkarma yetenekleri sunar.
Sayfa numaraları eklemek için iTextSharp, .NET 10 ile uyumlu mu, yoksa iText 7 mi kullanmalıyım?
iTextSharp (sürüm 5.x) resmi olarak artık kullanılmıyor ve bakım modunda; yalnızca güvenlik düzeltmeleri alıyor ve yeni özellik güncellemeleri yok. Doğrudan .NET 10'u hedeflemiyor ve modern .NET sürümlerinde kullanılması uyumluluk sınırlamaları doğurabilir. Yeni projeler veya .NET 10'a yükseltme yapan projeler için iText 7 (veya iText Core) şiddetle önerilir, çünkü en son çerçeveleri destekler ve iTextSharp'un üzerinde iyileştirmeler içerir. ([itextpdf.com](https://itextpdf.com/products/itextsharp?utm_source=openai))



