Altbilgi içeriğine atla
ÜRüN KARşıLAşTıRMALARı

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.

View Full Comparison

"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

  1. Herhangi bir IDE kullanarak yeni bir C# projesi oluşturun.
  2. Yeni bir PDF nesnesi oluşturun.
  3. Sayfa numaralarını HTML altbilgisine ekleyin.
  4. HTML içeriğinden bir PDF oluşturun.
  5. 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:

iText ve C#: PDF'e Sayfa Numaraları Ekleme: Şekil 1 - Paket yöneticisinden IronPDF yükleme

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
SHELL

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
$vbLabelText   $csharpLabel

Açıklama

  1. İşleyici Başlat: HTML- PDF dönüştürme özelliği sunan HtmlToPdf'in bir örneği oluşturuyoruz.
  2. HTML İçeriğini Tanımlayın: PDF'ye dönüştürülmesi gereken HTML içeriği belirtilir.
  3. HTML İçeriğini İşleme: HTML'i bir PDF belgesine dönüştürmek için RenderHtmlAsPdf fonksiyonu kullanılır.
  4. Alt Bilgiyi Tanımlayın: Sayfa numaraları, HTML alt bilgi metninde yer tutucu olarak temsil edilir.
  5. Alt Bilgi Ekleme ve PDF'yi Kaydetme: Belgeye alt bilgi uygulayın ve PDF dosyası olarak kaydedin.

iText ve C#: PDF'e Sayfa Numaraları Ekleme: Şekil 2 - IronPDF: Çıktı PDF ile sayfa numaraları

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
$vbLabelText   $csharpLabel

Açıklama

  1. PDF Belgesi Oluştur: Yeni bir Document ve PdfWriter başlatarak boş bir PDF dosyası üretin.
  2. İçerik Ekleme: Belgeye paragraflar gibi temel içerik ekleyin.
  3. 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.
  4. OnEndPage Üzerine Yazma: Özel sınıfta, her sayfanın altına sayfa numaraları eklemek için OnEndPage metodunu geçersiz kılın.
  5. Belgeyi Kapatma: Belgeyi kapatarak tamamlayın.

iText ve C#: PDF'e Sayfa Numaraları Ekleme: Şekil 3 - iText: Çıktı PDF ile sayfa numaraları

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.

Lütfen dikkate alıniText, ilgili sahibinin tescilli markasıdır. Bu site, iText ile ilişkili, onaylanmış veya sponsor olunmuş değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.

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))

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

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara