iTextSharp ve IronPDF Arasında C#'da PDF'i Bölmenin Karşılaştırılması
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
PDF (Taşınabilir Belge Formatı) dosyaları, belgelerin paylaşımı ve sunumu için yaygın olarak kullanılır ve bazen bir PDF'yi birden fazla dosyaya bölmeniz gerekebilir. Belirli sayfaları çıkarmak, büyük bir belgeyi daha küçük bölümlere ayırmak veya her bölüm için ayrı dosyalar oluşturmak istiyorsanız, PDF'leri bölmek çeşitli senaryolarda değerli bir görev olabilir.
Bu makalede, C# kullanarak PDF'leri nasıl böleceğimizi öğreneceğiz. C#, çok yönlü ve güçlü bir dildir ve PDF'leri manipüle etmeyi nispeten kolaylaştıran birçok kütüphane mevcuttur. C# içinde PDF'leri bölmek için iki kütüphaneyi keşfedeceğiz.
C# Kullanarak iTextSharp ile PDF Nasıl Bölünür
- İlk olarak iText7 kütüphanesini yükleyin.
- Giriş PDF dosyasından bir PdfReader oluşturun.
- PDF içeriğiyle çalışmak için bir PdfDocument kullanın.
- Her bir bölme dosyası için sayfa sayısını hesaplayın.
- İlk sayfa aralığı değerlerini ayarlayın.
- Her bölme dosyasını işlemek için bir döngü kullanın.
- Mevcut bölme dosyası için yeni bir PdfDocument oluşturun.
- Orijinal belgeden yeni olana sayfaları kopyalayın.
- Sonraki yineleme için sayfa aralığı değerlerini güncelleyin.
- Tamamlanan çıkış PDF'sini kaydedin.
- Tüm dosyalar oluşturulana kadar tekrarlayın.
- Belirtilen sayıda bölme dosyası için süreci devam ettirin.
IronPDF
iTextSharp ile IronPDF arasında C# içindeki PDF Bölme Karşılaştırması: Şekil 1 - IronPDF web sayfası
IronPDF, PDF dosyaları ile çalışmak için tasarlanmış güçlü bir C# kütüphanesidir. oluşturma, düzenleme ve PDF belgelerinden içerik çıkarma özellikleri sağlar. Geliştiriciler, sıfırdan PDF oluşturabilir, mevcut PDF'leri düzenleyebilir ve birleştirebilir veya bölebilir. Ek olarak, IronPDF, HTML içeriğini PDF formatına dönüştürme konusunda mükemmel performans gösterir, bu da rapor veya dokümantasyon oluşturmada faydalı olabilir. Dijital imzalar, güvenlik özellikleri ve yüksek kaliteli çıktı desteği ile IronPDF, .NET uygulamalarında PDF ile ilgili görevleri basitleştirir.
iTextSharp
iTextSharp ile IronPDF arasında C# içindeki PDF Bölme Karşılaştırması: Şekil 2 - iTextSharp web sayfası
iTextSharp (iText 7), .NET çerçevesinde PDF dosyaları ile çalışmak için yaygın olarak kullanılan bir kütüphanedir. PDF belgelerinden programlı olarak içerik oluşturma, düzenleme ve çıkarma için güçlü özellikler sunar. Geliştiriciler, metin, resim, tablo ve diğer grafik öğeleri PDF'lere eklemek için iTextSharp'ı kullanabilir. Ek olarak, belge oluşturma, dijital imzalar ve arşivleme ve erişilebilirlik standartlarına uyum desteği sağlar. Başlangıçta bir Java kütüphanesi olan iTextSharp, .NET'e port edilmiştir ve aktif bir geliştirici ve kullanıcı topluluğuna sahiptir.
IronPDF Kütüphanesini Yükleme
Paket Yöneticisi Konsolu'nu kullanarak Visual Studio'da IronPDF NuGet paketi yüklemek için şu adımları izleyin:
- Visual Studio'da Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu'na gidin.
-
IronPDF NuGet paketini yüklemek için aşağıdaki komutu kullanın:
Install-Package IronPdf
Bu, IronPDF paketini ve bağımlılıklarını projenize indirip yükleyecektir. Kurulum tamamlandıktan sonra, C# projenizde PDF ile ilgili görevler için IronPDF'yi kullanmaya başlayabilirsiniz.
Alternatif olarak, Visual Studio'da NuGet Paket Yöneticisi kullanarak IronPDF'yi yükleyebilir veya paketi doğrudan proje dosyanıza ekleyebilirsiniz. Diğer bir seçenek, paketi resmi web sitesinden indirip projenize manuel olarak eklemektir. Her bir yöntem, C# projenize PDF ile ilgili işlevsellikler için IronPDF'yi entegre etmek için basit bir yol sunar.
iTextSharp Kütüphanesini Yükleme
Paket Yöneticisi Konsolu'nu kullanarak Visual Studio'da iTextSharp yüklemek için şu adımları izleyebilirsiniz:
- Visual Studio'da Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu'na gidin.
-
iTextSharp NuGet paketini yüklemek için aşağıdaki komutu kullanın:
Install-Package itext7Install-Package itext7SHELL
Bu, iTextSharp paketini ve bağımlılıklarını projenize indirip yükleyecektir. Kurulum tamamlandıktan sonra, C# projenizde PDF'lerle çalışmak için iTextSharp'ı kullanmaya başlayabilirsiniz.
IronPDF Kullanarak C#'ta PDF Belgelerini Bölme
IronPDF kullanarak bir PDF dosyasını birden fazla PDF dosyasına bölebiliriz. Bunun için basit bir yol sunar. Aşağıdaki kod, giriş olarak kaynak PDF dosyasını alacak ve bunu birden fazla PDF dosyasına bölecektir.
using IronPdf;
class Program
{
static void Main(string[] args)
{
string file = "input.pdf";
// The folder to save the split PDFs
string outputFolder = "output_split";
int numberOfSplitFiles = 3; // Specify how many parts you want to split the PDF into
// Call the SplitPdf method to split the PDF
SplitPdfUsingIronPDF(file, outputFolder, numberOfSplitFiles);
}
static void SplitPdfUsingIronPDF(string inputPdfPath, string outputFolder, int numberOfSplitFiles)
{
// Load the input PDF
PdfDocument sourceFile = PdfDocument.FromFile(inputPdfPath);
// Initialize page range values
int firstPage = 1;
int lastPage = 2;
int totalPageInOneFile = sourceFile.PageCount / numberOfSplitFiles;
for (int i = 1; i <= numberOfSplitFiles; i++)
{
// Copy multiple pages into a new document
PdfDocument newSplitPDF = sourceFile.CopyPages(firstPage, lastPage);
// Generate the output file path
string name = $@"{outputFolder}\SplitPDF_IronPDF_{i}.pdf";
// Save the new split PDF
newSplitPDF.SaveAs(name);
// Update page range values for the next iteration
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
string file = "input.pdf";
// The folder to save the split PDFs
string outputFolder = "output_split";
int numberOfSplitFiles = 3; // Specify how many parts you want to split the PDF into
// Call the SplitPdf method to split the PDF
SplitPdfUsingIronPDF(file, outputFolder, numberOfSplitFiles);
}
static void SplitPdfUsingIronPDF(string inputPdfPath, string outputFolder, int numberOfSplitFiles)
{
// Load the input PDF
PdfDocument sourceFile = PdfDocument.FromFile(inputPdfPath);
// Initialize page range values
int firstPage = 1;
int lastPage = 2;
int totalPageInOneFile = sourceFile.PageCount / numberOfSplitFiles;
for (int i = 1; i <= numberOfSplitFiles; i++)
{
// Copy multiple pages into a new document
PdfDocument newSplitPDF = sourceFile.CopyPages(firstPage, lastPage);
// Generate the output file path
string name = $@"{outputFolder}\SplitPDF_IronPDF_{i}.pdf";
// Save the new split PDF
newSplitPDF.SaveAs(name);
// Update page range values for the next iteration
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim file As String = "input.pdf"
' The folder to save the split PDFs
Dim outputFolder As String = "output_split"
Dim numberOfSplitFiles As Integer = 3 ' Specify how many parts you want to split the PDF into
' Call the SplitPdf method to split the PDF
SplitPdfUsingIronPDF(file, outputFolder, numberOfSplitFiles)
End Sub
Private Shared Sub SplitPdfUsingIronPDF(ByVal inputPdfPath As String, ByVal outputFolder As String, ByVal numberOfSplitFiles As Integer)
' Load the input PDF
Dim sourceFile As PdfDocument = PdfDocument.FromFile(inputPdfPath)
' Initialize page range values
Dim firstPage As Integer = 1
Dim lastPage As Integer = 2
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Dim totalPageInOneFile As Integer = sourceFile.PageCount / numberOfSplitFiles
For i As Integer = 1 To numberOfSplitFiles
' Copy multiple pages into a new document
Dim newSplitPDF As PdfDocument = sourceFile.CopyPages(firstPage, lastPage)
' Generate the output file path
Dim name As String = $"{outputFolder}\SplitPDF_IronPDF_{i}.pdf"
' Save the new split PDF
newSplitPDF.SaveAs(name)
' Update page range values for the next iteration
firstPage = lastPage + 1
lastPage += totalPageInOneFile
Next i
End Sub
End Class
Kod Açıklaması
Bu kodun amacı, verilen bir PDF dosyasını IronPDF kütüphanesini kullanarak birden çok daha küçük PDF dosyasına bölmektir. SplitPdfUsingIronPDF yöntemi, bu işlevselliği sağlamak için tanımlanmıştır.
Yöntem Parametreleri
inputPdfPath: Giriş PDF dosyasının yolunu temsil eden bir dize (örneğin, "input.pdf").outputFolder: Bölünmüş PDF dosyalarının kaydedileceği çıkış klasörünü temsil eden bir dize (örneğin, "output_split").numberOfSplitFiles: Orijinal PDF'in kaç daha küçük PDF dosyasına bölüneceğini belirten bir tam sayı.
Bölme Süreci
İçinde SplitPdfUsingIronPDF yöntemi:
- Belirtilen
inputPdfPathkonumundan PDF yüklenerek oluşturulansourceFileadında birPdfDocumentnesnesi oluşturulur. firstPagevelastPageadlı iki tam sayı değişkeni başlatılır. Bunlar, bölme için sayfa aralığını temsil eder.totalPageInOneFile, kaynak PDF'in toplam sayfa sayısının belirtilennumberOfSplitFiles'ye bölünmesiyle hesaplanır.- Bir döngü 1'den
numberOfSplitFiles'ye kadar yineleme yapar: newSplitPDFadlı yeni birPdfDocumentnesnesi oluşturulur.firstPageilelastPagearası (dahil) sayfalarsourceFile'dennewSplitPDF'ye kopyalanır.- Oluşan daha küçük PDF, belirtilen çıkış klasöründe "SplitPDF_IronPDF_1.pdf" gibi bir dosya adıyla kaydedilir (ilk bölünme için).
- Sonraki yineleme için
firstPagevelastPagedeğerleri güncellenir.
Not
"input.pdf" yerini giriş PDF dosyanızın gerçek yolu ile değiştirmelisiniz. IronPDF kutuphanesinin projenizde doğru şekilde kurulduğundan ve referans verildiğinden emin olun.
Çıkış dosyaları şu şekilde oluşturulur:

C# ile iTextSharp Kullanarak PDF Dosyalarını Bölme
Şimdi, PDF belgelerimizi birden çok PDF dosyasına bölmek için iTextSharp kullanacağız. Aşağıdaki kod, kaynak dosyayı girdi olarak alacak ve bu PDF belgesini daha küçük dosyalara bölecektir.
using System;
using iText.Kernel.Pdf;
class Program
{
static void Main(string[] args)
{
string inputPath = "input.pdf";
// Output PDF files path (prefix for the generated files)
string outputPath = "output_split";
int numberOfSplitFiles = 3; // Specify how many parts you want to split the PDF into
// Call the SplitPdf method to split the PDF
SplitPdfUsingiTextSharp(inputPath, outputPath, numberOfSplitFiles);
}
static void SplitPdfUsingiTextSharp(string inputPdfPath, string outputFolder, int numberOfSplitFiles)
{
using (PdfReader reader = new PdfReader(inputPdfPath))
{
using (PdfDocument doc = new PdfDocument(reader))
{
// Calculate the number of pages for each split file
int totalPageInOneFile = doc.GetNumberOfPages() / numberOfSplitFiles;
int firstPage = 1;
int lastPage = totalPageInOneFile;
for (int i = 1; i <= numberOfSplitFiles; i++)
{
// Generate the output file path
string filename = $@"{outputFolder}\SplitPDF_iTextSharp_{i}.pdf";
// Create a new document and attach a writer for the specified output file
using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(filename)))
{
// Copy pages from the original document to the new document
doc.CopyPagesTo(firstPage, lastPage, pdfDocument);
}
// Update page range values for the next iteration
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
}
}
using System;
using iText.Kernel.Pdf;
class Program
{
static void Main(string[] args)
{
string inputPath = "input.pdf";
// Output PDF files path (prefix for the generated files)
string outputPath = "output_split";
int numberOfSplitFiles = 3; // Specify how many parts you want to split the PDF into
// Call the SplitPdf method to split the PDF
SplitPdfUsingiTextSharp(inputPath, outputPath, numberOfSplitFiles);
}
static void SplitPdfUsingiTextSharp(string inputPdfPath, string outputFolder, int numberOfSplitFiles)
{
using (PdfReader reader = new PdfReader(inputPdfPath))
{
using (PdfDocument doc = new PdfDocument(reader))
{
// Calculate the number of pages for each split file
int totalPageInOneFile = doc.GetNumberOfPages() / numberOfSplitFiles;
int firstPage = 1;
int lastPage = totalPageInOneFile;
for (int i = 1; i <= numberOfSplitFiles; i++)
{
// Generate the output file path
string filename = $@"{outputFolder}\SplitPDF_iTextSharp_{i}.pdf";
// Create a new document and attach a writer for the specified output file
using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(filename)))
{
// Copy pages from the original document to the new document
doc.CopyPagesTo(firstPage, lastPage, pdfDocument);
}
// Update page range values for the next iteration
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
}
}
Imports System
Imports iText.Kernel.Pdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim inputPath As String = "input.pdf"
' Output PDF files path (prefix for the generated files)
Dim outputPath As String = "output_split"
Dim numberOfSplitFiles As Integer = 3 ' Specify how many parts you want to split the PDF into
' Call the SplitPdf method to split the PDF
SplitPdfUsingiTextSharp(inputPath, outputPath, numberOfSplitFiles)
End Sub
Private Shared Sub SplitPdfUsingiTextSharp(ByVal inputPdfPath As String, ByVal outputFolder As String, ByVal numberOfSplitFiles As Integer)
Using reader As New PdfReader(inputPdfPath)
Using doc As New PdfDocument(reader)
' Calculate the number of pages for each split file
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Dim totalPageInOneFile As Integer = doc.GetNumberOfPages() / numberOfSplitFiles
Dim firstPage As Integer = 1
Dim lastPage As Integer = totalPageInOneFile
For i As Integer = 1 To numberOfSplitFiles
' Generate the output file path
Dim filename As String = $"{outputFolder}\SplitPDF_iTextSharp_{i}.pdf"
' Create a new document and attach a writer for the specified output file
Using pdfDocument As New PdfDocument(New PdfWriter(filename))
' Copy pages from the original document to the new document
doc.CopyPagesTo(firstPage, lastPage, pdfDocument)
End Using
' Update page range values for the next iteration
firstPage = lastPage + 1
lastPage += totalPageInOneFile
Next i
End Using
End Using
End Sub
End Class
Kod Açıklaması
Bu kod ile iTextSharp kullanarak büyük bir PDF dosyasını daha küçük parçalara nasıl böleceğinizi gösterir. Her bir küçük PDF belgesi, orijinal belgenin bir bölümünü içerecektir.
iTextSharp Kullanarak PDF Bölme
- Ana işlevsellik
SplitPdfUsingiTextSharpyönteminde kapsüllenir. - Yukarıdaki yöntem üç parametre alır:
inputPdfPath,outputFoldervenumberOfSplitFiles.
PdfReader ve PdfDocument Kullanımı
İçinde SplitPdfUsingiTextSharp yöntemi:
- Belirtilen
inputPdfPathadresinden PDF yüklenerek oluşturulanreaderadında birPdfReadernesnesi oluşturulur. readerkullanarakdocadlıPdfDocumentnesnesi başlatılır.- Kaynak PDF'deki toplam sayfa sayısı
numberOfSplitFilesile bölünerek daha küçük her PDF'in içermesi gereken sayfa sayısı belirlenir.
Bölme Süreci
Bir döngü 1'den numberOfSplitFiles'ya kadar yineleme yapar:
- "SplitPDF_iTextSharp_1.pdf" gibi bir dosya adıyla belirtilen çıkış klasöründe yeni bir küçük PDF dosyası oluşturulur (ilk bölünme için).
- Bu yeni PDF belgesinin (
pdfDocument) içinde, orijinaldoc'den sayfalar kopyalanır: firstPageilelastPagearası (dahil) kopyalanır.- Küçük PDF kaydedilir.
- Sonraki yineleme için
firstPagevelastPagedeğerleri güncellenir.
Not
iTextSharp kutuphanesinin projenizde doğru şekilde kurulduğundan ve referans verildiğinden emin olun. "input.pdf" yerini giriş PDF dosyanızın gerçek yolu ile değiştirin.

Karşılaştırma
İki bölme yöntemini iTextSharp ve IronPDF kullanarak karşılaştırmak için, birkaç faktöre dayalı olarak değerlendirelim:
- Kullanım Kolaylığı:
- iTextSharp: iTextSharp yöntemi, bir PdfReader, PdfDocument ve PdfWriter oluşturmayı içerir. Sayfa aralıklarını hesaplar ve sayfaları yeni bir belgeye kopyalar. Bu yaklaşım iTextSharp API'sini anlamayı gerektirir.
- IronPDF: IronPDF yöntemi, kaynak dosyadan bir PdfDocument oluşturmayı, sayfaları kopyalamayı ve bunları yeni bir dosyaya kaydetmeyi içerir. Daha basit bir API'ye sahiptir.
- Kod Okunabilirliği:
- iTextSharp: Kod daha fazla adım içerir, bu da onu biraz daha uzun ve potansiyel olarak okunması daha karmaşık hale getirir.
- IronPDF: Kod, daha az adım ve yöntem çağrısı nedeniyle daha özlü ve okunabilir.
- Performans:
- iTextSharp: PdfDocument örneklerinin tekrar tekrar oluşturulup atılması performansı etkileyebilir.
- IronPDF: Yöntem, daha az adım içerir ve sayfaların verimli bir şekilde kopyalanması sayesinde daha iyi bir performans sunar.
- Hafıza Kullanımı:
- iTextSharp: Birden fazla PdfDocument örneği oluşturulması daha fazla hafıza tüketir.
- IronPDF: Yaklaşımı daha basit olduğu için yöntem daha hafıza etkilidir.
Sonuç
Sonuç olarak, hem iTextSharp hem de IronPDF, C# içinde PDF dosyalarını bölmek için sağlam çözümler sunar, her biri kendi avantaj setine sahip. IronPDF, basitliği, okunabilirliği ve daha basit bir yaklaşım sayesinde potansiyel olarak daha iyi performansı ile öne çıkmaktadır.
Geliştiriciler, esneklik ve kullanım kolaylığı arasında bir denge arayanlar için IronPDF'yi çekici bir seçenek olarak bulabilirler. Ayrıca, IronPDF bir ücretsiz deneme sunar. Sonuçta, iTextSharp ve IronPDF arasındaki seçim, bireysel proje gereksinimlerine ve tercih edilen geliştirme tarzına bağlıdır.
Sıkça Sorulan Sorular
Biçimlendirmeyi koruyarak bir PDF'yi C#'ta nasıl bölebilirim?
IronPDF'yi kullanarak bir PDF'yi C#'ta biçimlendirmeyi koruyarak bölebilirsiniz. IronPDF, PDF'yi doldurmak ve bölmek için sayfa aralığını belirtmenize olanak saglayan basit bir API sunar, böylelikle orjinal biçimlendirmenin korundugu sonuc PDF'leri saglar.
C#'ta PDF'leri bolmek için iTextSharp ve IronPDF'nin temel farkları nelerdir?
Ana farklar, kullanım kolaylıgı ve performansıdır. IronPDF, daha az adımla daha basit bir API sunar, böylece biçim kaybı olmadan PDF'leri daha kolay bölebilirsiniz. Diğer yandan, iTextSharp, PdfReader, PdfDocument ve PdfWriter gibi birden çok örnek oluşturmayı gerektirir, bu daha karmasık olabilir.
C# kullanarak PDF'ten belirli sayfaları cıkarabilir miyim?
Evet, IronPDF'yi kullanarak, belirli sayfaları bir PDF'ten C#'ta kolayca cıkarabilirsiniz. PDF'yi yükleyerek ve istediğiniz sayfa numaralarını belirterek, IronPDF bu sayfaları yeni bir PDF belgesi olarak cıkarmanıza ve kaydetmenize olanak tanır.
IronPDF, diğer PDF kütüphaneleriyle karsılastırıldıgında kodun anlasılabilirligini nasıl artırır?
IronPDF, daha fazla çoklu sınıf ve nesneye ihtiyaçı azaltan net ve anlaşılır bir API sunarak kodun anlaşılırlığını iyileştirir. Bu, bolme gibi PDF büyüme gorevleri için gereksinmesi azaltır, daha temiz ve daha bakım gerektiren kod elde edilmesini saglar.
Bir kütüphane satın almadan önce C#'ta PDF bolme fonksiyonlugunu test etmek mumkün müdür?
Evet, IronPDF geliştiricilere PDF bölme işlevselliğini ve diğer özelliklerini test etmeleri için bir ücretsiz deneme sunar. Bu deneme süresi, satın alma kararı vermeden önce yeteneklerini ve performansını değerlendirmenizi sağlar.
Belgeleri bölmek için bir PDF kütüphanesi seçerken hangi faktörler dikkate alınmalıdır?
Bir PDF kütüphanesi seçerken, kullanım kolaylığı, API basitliği, performans ve orijinal belge formatını koruma kabiliyeti gibi faktörleri göz önünde bulundurun. Kolay kullanılabilen API'si ve verimli performansı nedeniyle genellikle IronPDF tercih edilir.
IronPDF'i bir Visual Studio C# projesine nasıl kurabilirim?
IronPDF'i bir Visual Studio C# projesine kurmak için, Install-Package IronPdf komutunu kullanarak NuGet Paket Yöneticisi Konsolu'nu kullanın. Ayrıca, NuGet Paket Yöneticisi UI üzerinden ekleyebilir veya IronPDF'in resmi web sitesinden indirebilirsiniz.
Bir PDF'yi bölmek, kalitesini veya formatını etkiler mi?
IronPDF ile bir PDF'yi bölmek, orijinal belgenin kalite ve formatının korunduğunu garanti eder. IronPDF'in verimli işlemesi, orijinal içeriğin bütünlüğünü korur.



