IronPDF vs PDFSharpCore: 2025'te Hangi .NET PDF Kütüphanesini Seçmelisiniz?
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ı, belgeleri paylaşmak ve sunmak 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 farklı 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 büyük ölçüde kolaylaştıran birkaç kütüphane vardır. C#'ta PDF'leri bölmek için aşağıdaki iki kütüphaneyi keşfedeceğiz.
C# içinde iText kullanarak PDF Nasıl Bölünür?
- Öncelikle, iText kütüphanesini yükleyin.
- Girdi PDF dosyasından bir PdfReader oluşturun.
- PDF içeriği ile çalışmak için bir PdfDocument kullanın.
- Her bölünmüş dosya için sayfa sayısını hesaplayın.
- Başlangıç sayfa aralığı değerlerini ayarlayın.
- Her bölünmüş dosya için bir döngü kullanın.
- Geçerli bölünmüş dosya için yeni bir PdfDocument oluşturun.
- Orijinal belgeden yeni birine sayfaları kopyalayın.
- Bir sonraki yineleme için sayfa aralığı değerlerini güncelleyin.
- Tamamlanan çıktı PDF'sini kaydedin.
- Tüm dosyalar oluşturulana kadar tekrarlayın.
- Belirtilen bölünmüş dosya sayısı için süreci devam ettirin.
IronPDF
C# içinde iText ve IronPDF kullanarak 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. PDF belgelerinden oluşturma, düzenleme ve çıkarma içeriği için özellikler sağlar. Geliştiriciler, sıfırdan PDF'ler üretebilir, mevcut PDF'leri düzenleyebilir ve birleştirebilir veya bölebilir. Ayrıca, IronPDF, HTML içeriğini PDF formatına dönüştürme konusunda mükemmeldir, bu da rapor veya doküman oluşturmak için faydalıdır. Dijital imzalar, güvenlik özellikleri ve yüksek kaliteli çıktıları destekleyen IronPDF, .NET uygulamalarında PDF ile ilgili görevleri kolaylaştırır.
iText
C# içinde iText ve IronPDF kullanarak PDF bölme karşılaştırması: Şekil 2 - iText web sayfası
iText (iText) .NET framework üzerinde PDF dosyaları ile çalışmak için yaygın olarak kullanılan bir kütüphanedir. PDF belgelerini programatik olarak oluşturma, düzenleme ve içerik çıkarma için güçlü özellikler sunar. Geliştiriciler iText'i kullanarak PDF belgelerine metin, resim, tablo ve diğer grafik öğeler ekleyebilir. Ayrıca, belge montajını, dijital imzaları ve arşivleme ve erişilebilirlik standartları ile uyumluluğu destekler. Orijinal olarak bir Java kütüphanesi olan iText, .NET'e taşındı ve aktif bir geliştirici ve kullanıcı topluluğu bulunmaktadır.
IronPDF Kütüphanesinin Kurulumu
Visual Studio'da Paket Yöneticisi Konsolu'nu kullanarak IronPDF NuGet paketi kurmak için bu adımları izleyin:
- Visual Studio'da, Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu'na gidin.
-
IronPDF NuGet paketini kurmak 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, IronPDF'yi PDF ile ilgili görevler için C# projenizde kullanmaya başlayabilirsiniz.
Alternatif olarak, IronPDF'yi Visual Studio'daki NuGet Paket Yöneticisi'ni kullanarak yükleyebilir veya paketi doğrudan proje dosyanıza ekleyebilirsiniz. Bir diğer seçenek ise paketi resmi web sitesinden indirerek manuel olarak projenize eklemektir. Her yöntem, IronPDF'yi PDF ile ilgili işlevler için C# projenize entegre etmek için basit bir yol sunar.
iText Kütüphanesinin Kurulumu
Visual Studio'daki Paket Yöneticisi Konsolu'nu kullanarak iText kurmak için şu adımları izleyebilirsiniz:
- Visual Studio'da, Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu'na gidin.
-
iText NuGet paketini yüklemek için aşağıdaki komutu kullanın:
Install-Package itext7Install-Package itext7SHELL
Bu, iText paketini ve bağımlılıklarını projenize indirip yükleyecektir. Kurulum tamamlandığında, PDF'lerle çalışmak için C# projenizde iText'i kullanmaya başlayabilirsiniz.
IronPDF Kullanarak C# içinde PDF Belgelerini Bölme
IronPDF kullanarak bir PDF dosyasını birden fazla PDF dosyasına bölebiliriz. Bunun için basit bir yol sağlar. Aşağıdaki kod, kaynak PDF dosyasını girdi olarak alacak ve onu birçok 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
SplitPdfUsing IronPDF(file, outputFolder, numberOfSplitFiles);
}
static void SplitPdfUsing IronPDF(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
SplitPdfUsing IronPDF(file, outputFolder, numberOfSplitFiles);
}
static void SplitPdfUsing IronPDF(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
Class Program
Shared Sub Main(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
Shared Sub SplitPdfUsingIronPDF(inputPdfPath As String, outputFolder As String, 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
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
End Sub
End Class
Kod Açıklaması
Bu kodun amacı, verilen bir PDF dosyasını IronPDF kütüphanesi kullanarak birçok daha küçük PDF dosyasına bölmektir. Bu işlevselliği sağlamak için SplitPdfUsing IronPDF yöntemi 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 çıktı klasörünü temsil eden bir dize (örneğin, 'output_split').numberOfSplitFiles: Orijinal PDF'nin kaç daha küçük PDF dosyasına bölüneceğini belirten bir tamsayı.
Bölme Süreci
SplitPdfUsing IronPDF yönteminin içerisinde:
- Belirtilen
inputPdfPath'dan PDF'yi yükleyerek oluşturulansourceFileadlı birPdfDocumentnesnesi oluşturulur. - İki tamsayı değişkeni,
firstPagevelastPage, başlatılır. Bunlar bölünme için sayfa aralığını temsil eder. totalPageInOneFile, kaynağı PDF'nin toplam sayfa sayısını belirtilennumberOfSplitFilesile bölerek hesaplanır.- Döngü 1'den
numberOfSplitFiles'a kadar iterasyon yapar: newSplitPDFadlı yeni birPdfDocumentnesnesi oluşturulur.firstPageilelastPagearasındaki sayfalar (dahil)sourceFile'dannewSplitPDF'a kopyalanır.- Sonuçta elde edilen daha küçük PDF, belirtilen çıktı klasöründe "SplitPDF_IronPDF_1.pdf" gibi bir dosya adıyla kaydedilir (ilk bölünme için).
firstPagevelastPagedeğerleri bir sonraki yineleme için güncellenir.
Not
PDF dosyanızın giriş yolunu "input.pdf" yerine gerçek yol ile değiştirmelisiniz. IronPDF kütüphanesinin projenizde düzgün şekilde kurulu ve referanslı olduğundan emin olun.
Çıktı dosyaları şu şekilde oluşturulur:
C# içinde iText ve IronPDF kullanarak PDF bölme karşılaştırması: Şekil 3 - Oluşturulan çıktı dosyaları
iText Kullanarak C# İçinde PDFleri Bölme
Şimdi, PDF belgelerimizi birden çok PDF dosyasına bölmek için iText'i kullanacağız. Aşağıdaki kod, kaynak dosyayı girdi olarak alacak ve bu PDF belgesini birden fazla küçük dosyaya 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, büyük bir PDF dosyasını daha küçük parçalara nasıl böleceğinizi gösteriyor. Her küçük PDF belgesi, orijinal belgeden bir bölüm içerir.
iText Kullanarak PDF Bölme
- Ana işlevsellik
SplitPdfUsingiTextSharpyöntemine kapsüllenmiştir. - Yukarıdaki yöntem üç parametre alır:
inputPdfPath,outputFoldervenumberOfSplitFiles.
PdfReader ve PdfDocument Kullanımı
SplitPdfUsingiTextSharp yönteminin içinde:
- Belirtilen
inputPdfPath'dan PDF'yi yükleyerek oluşturulanreaderadlı birPdfReadernesnesi oluşturulur. docadlı birPdfDocumentnesnesireaderkullanılarak başlatılır.- Kaynak PDF'nin toplam sayfa sayısı, her küçük PDF'nin kaç sayfa içermesi gerektiğini belirlemek için
numberOfSplitFilesile bölünür.
Bölme Süreci
Döngü 1'den numberOfSplitFiles'ya iterasyon yapar:
- Belirtilen çıktı klasöründe 'SplitPDF_iText_1.pdf' gibi bir dosya adıyla yeni küçük bir PDF dosyası oluşturulur (ilk bölme için).
- Bu yeni PDF belgesi içinde (
pdfDocument), sayfalar orijinaldoc'dan kopyalanır: firstPageilelastPagearası (dahil) kopyalanır.- Daha küçük PDF kaydedilir.
firstPagevelastPagedeğerleri bir sonraki yineleme için güncellenir.
Not
iText kütüphanesinin düzgün bir şekilde kurulup projenizde referans edildiğinden emin olun. PDF dosyanızın giriş yolunu "input.pdf" yerine gerçek yol ile değiştirin.
C# içinde iText ve IronPDF kullanarak PDF bölme karşılaştırması: Şekil 4 - Oluşturulan çıktı dosyaları
Karşılaştırma
iText ve IronPDF kullanarak iki bölme yöntemini karşılaştırmak için, onları birkaç faktöre göre değerlendirelim:
- Kullanım Kolaylığı:
- iText: iText 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, iText API'sinin anlaşılmasını gerektirir.
- IronPDF: IronPDF yöntemi, kaynak dosyadan bir PdfDocument oluşturmayı, sayfaları kopyalamayı ve onları yeni bir dosyaya kaydetmeyi içerir. Daha basit bir API'ye sahiptir.
- Kod Okunabilirliği:
- iText: Kod, daha fazla adımdan oluşur ve bu durumu, biraz daha uzun ve potansiyel olarak daha karmaşık hale getirebilir.
- IronPDF: Kod az adımlı ve daha az işlev çağrısı nedeniyle daha okunaklıdır.
- Performans:
- iText: Performans, PdfDocument örneklerinin tekrarlı oluşturulması ve atılmasıyla etkilenebilir.
- IronPDF: Yöntem, daha az adım içerir ve verimli sayfa kopyalamadan dolayı daha iyi performans sunar.
- Bellek Kullanımı:
- iText: Birden fazla PdfDocument örneği oluşturmak, daha fazla bellek tüketir.
- IronPDF: Yöntem, daha basit yaklaşımı nedeniyle belleği daha verimli kullanır.
Sonuç
Sonuç olarak, hem iText hem de IronPDF, C# içinde PDF dosyalarını bölmek için güçlü çözümler sunar, her biri kendi avantajlarıyla. IronPDF, daha basit, okunabilir ve potansiyel olarak daha iyi performans sunan daha doğrudan yaklaşımı ile dikkat çeker.
Geliştiriciler, çok yönlülük ve kullanım kolaylığı arasında bir denge ararken IronPDF'nin cazip bir seçim olabileceğini görebilir. Ayrıca, IronPDF, bir ücretsiz deneme sunar. Sonuç olarak, iText ve IronPDF arasında seçim yapmak, bireysel proje gereksinimlerine ve tercih edilen geliştirme tarzına bağlıdır.
Sıkça Sorulan Sorular
Orijinal biçimlendirmeyi koruyarak C#'da bir PDF'yi nasıl bölebilirim?
IronPDF ile PDF'yi C#'da bölerek biçimlendirmeyi koruyabilirsiniz. IronPDF, PDF'yi yükleyip bölünecek sayfa aralıklarını belirtmenize izin veren basit bir API sunar ve bu, sonuçtaki PDF'lerde orijinal biçimlendirmeyi korur.
C#'da PDF'leri bölmek için iTextSharp ve IronPDF arasındaki temel farklar nelerdir?
Anahtar farklar, kullanım kolaylığı ve performansta yatar. IronPDF, daha az adım içeren ve biçimlendirme kaybı olmadan PDF'leri daha kolay bölmeyi sağlayan daha basit bir API sunar. Öte yandan, iTextSharp PdfReader, PdfDocument ve PdfWriter gibi birden fazla örnek oluşturmayı gerektirir, bu daha karmaşık olabilir.
C# kullanarak bir PDF'den belirli sayfaları çıkarabilir miyim?
Evet, IronPDF kullanarak C#'da bir PDF'den belirli sayfaları kolayca çıkarabilirsiniz. PDF'yi yükleyip istenilen sayfa numaralarını belirterek, IronPDF bu sayfaları yeni bir PDF belgesi olarak çıkarmanıza ve kaydetmenize olanak tanır.
IronPDF'in diğer PDF kütüphanelerine kıyasla kod okunabilirliğini nasıl artırdığını öğrenin.
IronPDF, daha açık ve öz bir API sunarak kod okunabilirliğini artırır, bu da birden fazla sınıf ve nesne ihtiyacını azaltır. Bu, bölme gibi PDF manipülasyon görevleri için gerekli kodu basitleştirir ve daha temiz ve daha sürdürülebilir bir kod sağlar.
Kütüphane satın almadan önce C#'da PDF bölme işlevselliğini test etmek mümkün mü?
Evet, IronPDF, geliştiricilerin PDF bölme işlevselliğini ve diğer özelliklerini test etmelerine olanak tanıyan ücretsiz bir deneme sunar. Bu deneme süresi, satın alma kararı vermeden önce kapasitesini ve performansını değerlendirmenize olanak tanır.
Belgeleri bölmek için bir PDF kütüphanesi seçerken hangi faktörler göz önünde bulundurulmalıdır?
Bir PDF kütüphanesi seçerken, kullanım kolaylığı, API basitliği, performans ve orijinal belge biçimlendirmesini koruma yeteneği gibi faktörler göz önünde bulundurulmalıdır. Kullanıcı dostu API'si ve verimli performansı nedeniyle genellikle IronPDF tercih edilir.
IronPDF, Visual Studio C# projesine nasıl yüklenir?
IronPDF'i Visual Studio C# projesine yüklemek için NuGet Paket Yöneticisi Konsolu'nda Install-Package IronPdf komutunu kullanın. Ayrıca NuGet Paket Yöneticisi UI üzerinden ekleyebilir veya IronPDF'in resmi web sitesinden indirebilirsiniz.
PDF bölme işlemi, belgenin kalitesini veya biçimlendirmesini etkileyebilir mi?
IronPDF ile bir PDF'yi bölmek, orijinal belgenin kalitesinin ve biçimlendirmesinin korunmasını sağlar. IronPDF'in verimli işleme yeteneği, orijinal içeriğin bütünlüğünü korur.



