Altbilgi içeriğine atla
GEçIş KıLAVUZLARı

ComPDFKit'ten IronPDF'e C# ile Nasıl Geçilir

ComPDFKit, sağlam PDF manipülasyon özellikleri sunarken, birkaç faktör geliştirme ekiplerini daha köklü alternatifleri değerlendirmeye yönlendirir.

Pazar Olgunluğu ve Ekosistem Karşılaştırması

ComPDFKit, yeni piyasa girişimlerinin ortak sorunlarıyla karşı karşıyadır: dokümantasyon boşlukları, daha küçük bir topluluk ve sınırlı Stack Overflow kapsamı. IronPDF'in on yıllık rafinasyonu, kurumsal projelerin ihtiyaç duyduğu istikrarı ve kaynakları sağlar.

Aspekt ComPDFKit IronPDF
HTML-PDF Manuel HTML ayrıştırma gerektirir Yerel Chromium işleme
Pazar Olgunluğu Daha yeni oyuncu 10+ yıl, savaş sınanmış
Topluluk Büyüklüğü Küçük, sınırlı Stack Overflow Büyük, aktif topluluk
Dokümantasyon Bazı boşluklar Kapsamlı öğreticiler ve kılavuzlar
İndir Büyüyen 10+ milyon NuGet indirmesi
API Stili C++ etkilenmiş, verbose Modern .NET akıcı API
Bellek Yönetimi Manuel Release() çağrıları Otomatik GC yönetimi

Özellik Eşdeğerliği

Her iki kütüphane de kapsamlı PDF işlevselliğini destekler:

Özellik ComPDFKit IronPDF
HTML'den PDF'ye Temel/Manuel ✅Yerel Chromium
URL'yi PDF'ye çevir Manuel uygulama ✅Yerleşik
Sıfırdan PDF oluştur
PDF düzenleme
Metin çıkarma
Birleştirme/Bölme
Dijital imzalar
Form doldurma
Filigranlar
Çapraz platform Windows, Linux, macOS Windows, Linux, macOS

Kilit Göç Faydaları

  1. Üstün HTML Render: IronPDF'in Chromium motoru, modern CSS3, JavaScript ve responsive yerleşimleri yerel olarak işler
  2. Olgun Ekosistem: 10+ yıl boyunca rafine edilme, geniş dokümantasyon, kanıtlanmış istikrar
  3. Daha Basit API: Daha az boilerplate kodu, Release() çağrıları ile manuel bellek yönetimi yok
  4. Daha İyi .NET Entegrasyonu: Yerel async/await, LINQ desteği, akıcı arayüzler
  5. Kapsamlı Kaynaklar: Binlerce Stack Overflow yanıtı ve topluluk örnekleri

Migration'a Ön Hazırlık

Ön Koşullar

Ortamınızın bu gereksinimleri karşıladığından emin olun:

  • .NET Framework 4.6.2+ or .NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+ veya C# eklentisi ile VS Code
  • NuGet Package Manager erişimi -IronPDF lisans anahtarı (ücretsiz deneme sürümü ironpdf.com adresinde mevcut)

ComPDFKitKullanım Denetimi

TümComPDFKitreferanslarını belirlemek için çözüm dizininizde bu komutları çalıştırın:

# Find allComPDFKitusages in your codebase
grep -r "using ComPDFKit" --include="*.cs" .
grep -r "CPDFDocument\|CPDFPage\|CPDFAnnotation" --include="*.cs" .

# Find NuGet package references
grep -r "ComPDFKit" --include="*.csproj" .
# Find allComPDFKitusages in your codebase
grep -r "using ComPDFKit" --include="*.cs" .
grep -r "CPDFDocument\|CPDFPage\|CPDFAnnotation" --include="*.cs" .

# Find NuGet package references
grep -r "ComPDFKit" --include="*.csproj" .
SHELL

Beklenebilecek Kırıcı Değişiklikler

Değişim ComPDFKit IronPDF Etki
Belge yükleme CPDFDocument.InitWithFilePath() PdfDocument.FromFile() Yöntem adı değişikliği
Kaydetme document.WriteToFilePath() pdf.SaveAs() Yöntem adı değişikliği
Bellek temizleme document.Release() gereklidir Otomatik (GC) Manuel temizlemeyi kaldır
Sayfa erişimi document.PageAtIndex(i) pdf.Pages[i] Dizi tarzı erişim
Sayfa dizinleme 0 tabanlı 0 tabanlı Değişim gerekmez
HTML render Manuel uygulama RenderHtmlAsPdf() Büyük basitleştirme
Metin çıkarımı textPage.GetText() pdf.ExtractAllText() Basitleştirilmiş API

Adım Adım Geçiş Süreci

1. Adım: NuGet Paketlerini Güncelleyin

ComPDFKit paketlerini kaldırın ve IronPDF'i yükleyin:

# RemoveComPDFKitpackages
dotnet remove package ComPDFKit.NetCore
dotnet remove package ComPDFKit.NetFramework

# Install IronPDF
dotnet add package IronPdf
# RemoveComPDFKitpackages
dotnet remove package ComPDFKit.NetCore
dotnet remove package ComPDFKit.NetFramework

# Install IronPDF
dotnet add package IronPdf
SHELL

Adım 2: Ad Alanı Referanslarını Güncelleyin

ComPDFKit ad alanlarınıIronPDF ile değiştirin:

// Remove these
using ComPDFKit.PDFDocument;
using ComPDFKit.PDFPage;
using ComPDFKit.PDFAnnotation;
using ComPDFKit.Import;

// Add this
using IronPdf;
// Remove these
using ComPDFKit.PDFDocument;
using ComPDFKit.PDFPage;
using ComPDFKit.PDFAnnotation;
using ComPDFKit.Import;

// Add this
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Adım 3: Lisansı Yapılandırın

// Add at application startup (Program.cs or Global.asax)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Global.asax)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Global.asax)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Tam API Geçiş Referansı

Belge İşlemleri

Görev ComPDFKit IronPDF
Boş belge oluştur CPDFDocument.CreateDocument() new PdfDocument()
Dosyadan yükle CPDFDocument.InitWithFilePath(path) PdfDocument.FromFile(path)
Akıştan yükle CPDFDocument.InitWithStream(stream) PdfDocument.FromStream(stream)
Dosyaya kaydet document.WriteToFilePath(path) pdf.SaveAs(path)
Sayfa sayısını al document.PageCount pdf.PageCount
Serbest bırakma/İmha document.Release() Gerekli değil

HTML'den PDF'ye Dönüşüm

Görev ComPDFKit IronPDF
HTML dizgisi PDF'ye Manuel uygulama gerekli renderer.RenderHtmlAsPdf(html)
HTML dosyasını PDF'ye Manuel uygulama gerekli renderer.RenderHtmlFileAsPdf(path)
URL'yi PDF'ye çevir Manuel uygulama gerekli renderer.RenderUrlAsPdf(url)
Sayfa boyutunu ayarla Sayfa oluşturma parametreleri ile renderer.RenderingOptions.PaperSize
Kenar boşluklarını ayarla Düzenleyici yapılandırması ile renderer.RenderingOptions.MarginTop vb.

Birleştirme ve Bölme İşlemleri

Görev ComPDFKit IronPDF
Belgeleri birleştir doc1.ImportPagesAtIndex(doc2, range, index) PdfDocument.Merge(pdf1, pdf2)
Belgeyi ayır Sayfaları yeni bir belgeye çıkart pdf.CopyPages(start, end)

Kod Göç Örnekleri

HTML'den PDF'ye Dönüşüm

ComPDFKit ile IronPDF arasındaki en önemli fark HTML işleme yeteneğidir.Com/PDFKitmanuel metin yerleştirme gerektirirken,IronPDF kendi Chromium motoru ile HTML'yi doğrudan işler.

ComPDFKit Uygulaması:

// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using System;

class Program
{
    static void Main()
    {
        // ComPDFKit's .NET SDK has no native HTML-to-PDF rendering.
        // The closest equivalent is to create a blank document and lay
        // out primitives manually, or call ComPDFKit's separate cloud
        // Conversion API (a different SKU).
        var document = CPDFDocument.CreateDocument();
        document.InsertPage(0, 595, 842, string.Empty);

        document.WriteToFilePath("output.pdf");
        document.Release();
    }
}
// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using System;

class Program
{
    static void Main()
    {
        // ComPDFKit's .NET SDK has no native HTML-to-PDF rendering.
        // The closest equivalent is to create a blank document and lay
        // out primitives manually, or call ComPDFKit's separate cloud
        // Conversion API (a different SKU).
        var document = CPDFDocument.CreateDocument();
        document.InsertPage(0, 595, 842, string.Empty);

        document.WriteToFilePath("output.pdf");
        document.Release();
    }
}
Imports ComPDFKit.PDFDocument
Imports System

Module Program
    Sub Main()
        ' ComPDFKit's .NET SDK has no native HTML-to-PDF rendering.
        ' The closest equivalent is to create a blank document and lay
        ' out primitives manually, or call ComPDFKit's separate cloud
        ' Conversion API (a different SKU).
        Dim document = CPDFDocument.CreateDocument()
        document.InsertPage(0, 595, 842, String.Empty)

        document.WriteToFilePath("output.pdf")
        document.Release()
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is HTML content.</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is HTML content.</p>");
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is HTML content.</p>")
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF'nin ChromePdfRenderer manuel metin konumlandırma ve editör yönetimi ihtiyacını ortadan kaldırır. Daha fazla HTML dönüşüm seçeneği için HTML'den PDF'ye belgelerine bakın.

Birden Fazla PDF'yi Birleştirme

ComPDFKit Uygulaması:

// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using ComPDFKit.Import;
using System;

class Program
{
    static void Main()
    {
        var document1 = CPDFDocument.InitWithFilePath("file1.pdf");
        var document2 = CPDFDocument.InitWithFilePath("file2.pdf");

        // Import pages from document2 into document1
        document1.ImportPagesAtIndex(document2, "0-" + (document2.PageCount - 1), document1.PageCount);

        document1.WriteToFilePath("merged.pdf");
        document1.Release();
        document2.Release();
    }
}
// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using ComPDFKit.Import;
using System;

class Program
{
    static void Main()
    {
        var document1 = CPDFDocument.InitWithFilePath("file1.pdf");
        var document2 = CPDFDocument.InitWithFilePath("file2.pdf");

        // Import pages from document2 into document1
        document1.ImportPagesAtIndex(document2, "0-" + (document2.PageCount - 1), document1.PageCount);

        document1.WriteToFilePath("merged.pdf");
        document1.Release();
        document2.Release();
    }
}
Imports ComPDFKit.PDFDocument
Imports ComPDFKit.Import
Imports System

Module Program
    Sub Main()
        Dim document1 = CPDFDocument.InitWithFilePath("file1.pdf")
        Dim document2 = CPDFDocument.InitWithFilePath("file2.pdf")

        ' Import pages from document2 into document1
        document1.ImportPagesAtIndex(document2, "0-" & (document2.PageCount - 1), document1.PageCount)

        document1.WriteToFilePath("merged.pdf")
        document1.Release()
        document2.Release()
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("file1.pdf");
        var pdf2 = PdfDocument.FromFile("file2.pdf");

        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        merged.SaveAs("merged.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("file1.pdf");
        var pdf2 = PdfDocument.FromFile("file2.pdf");

        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        merged.SaveAs("merged.pdf");
    }
}
Imports IronPdf
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim pdf1 = PdfDocument.FromFile("file1.pdf")
        Dim pdf2 = PdfDocument.FromFile("file2.pdf")

        Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
        merged.SaveAs("merged.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF'nin statik Merge metodu, sayfa aralığı dizgileriyle uzun ImportPagesAtIndex desenini ortadan kaldırır. Daha fazla seçenek için PDF birleştirme belgelerine bakın.

Filigran Ekleme

Filigran, ComPDFKit'in özellik odaklı CPDFWatermark yapılandırması ile IronPDF'nin HTML tabanlı stilini arasındaki farkı gösterir.

ComPDFKit Uygulaması:

// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using ComPDFKit.PDFWatermark;
using System;

class Program
{
    static void Main()
    {
        var document = CPDFDocument.InitWithFilePath("input.pdf");

        CPDFWatermark watermark = document.InitWatermark(
            C_Watermark_Type.WATERMARK_TYPE_TEXT);
        watermark.SetText("CONFIDENTIAL");
        watermark.SetFontName("Helvetica");
        watermark.SetFontSize(48);
        watermark.SetTextRGBColor(255, 0, 0);
        watermark.SetRotation(45);
        watermark.SetOpacity(76); // 0..255
        watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
        watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
        watermark.SetPages($"0-{document.PageCount - 1}");
        watermark.SetFront(true);
        watermark.CreateWatermark();

        document.WriteToFilePath("watermarked.pdf");
        document.Release();
    }
}
// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using ComPDFKit.PDFWatermark;
using System;

class Program
{
    static void Main()
    {
        var document = CPDFDocument.InitWithFilePath("input.pdf");

        CPDFWatermark watermark = document.InitWatermark(
            C_Watermark_Type.WATERMARK_TYPE_TEXT);
        watermark.SetText("CONFIDENTIAL");
        watermark.SetFontName("Helvetica");
        watermark.SetFontSize(48);
        watermark.SetTextRGBColor(255, 0, 0);
        watermark.SetRotation(45);
        watermark.SetOpacity(76); // 0..255
        watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
        watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
        watermark.SetPages($"0-{document.PageCount - 1}");
        watermark.SetFront(true);
        watermark.CreateWatermark();

        document.WriteToFilePath("watermarked.pdf");
        document.Release();
    }
}
Imports ComPDFKit.PDFDocument
Imports ComPDFKit.PDFWatermark
Imports System

Class Program
    Shared Sub Main()
        Dim document = CPDFDocument.InitWithFilePath("input.pdf")

        Dim watermark As CPDFWatermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT)
        watermark.SetText("CONFIDENTIAL")
        watermark.SetFontName("Helvetica")
        watermark.SetFontSize(48)
        watermark.SetTextRGBColor(255, 0, 0)
        watermark.SetRotation(45)
        watermark.SetOpacity(76) ' 0..255
        watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER)
        watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER)
        watermark.SetPages($"0-{document.PageCount - 1}")
        watermark.SetFront(True)
        watermark.CreateWatermark()

        document.WriteToFilePath("watermarked.pdf")
        document.Release()
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");

        pdf.ApplyWatermark("<h1 style='color:rgba(255,0,0,0.3);'>CONFIDENTIAL</h1>",
            rotation: 45,
            verticalAlignment: VerticalAlignment.Middle,
            horizontalAlignment: HorizontalAlignment.Center);

        pdf.SaveAs("watermarked.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");

        pdf.ApplyWatermark("<h1 style='color:rgba(255,0,0,0.3);'>CONFIDENTIAL</h1>",
            rotation: 45,
            verticalAlignment: VerticalAlignment.Middle,
            horizontalAlignment: HorizontalAlignment.Center);

        pdf.SaveAs("watermarked.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing
Imports System

Module Program
    Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")

        pdf.ApplyWatermark("<h1 style='color:rgba(255,0,0,0.3);'>CONFIDENTIAL</h1>", 
                           rotation:=45, 
                           verticalAlignment:=VerticalAlignment.Middle, 
                           horizontalAlignment:=HorizontalAlignment.Center)

        pdf.SaveAs("watermarked.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF, HTML/CSS stili ile çok aşamalı CPDFWatermark yapılandırmayı tek bir yöntem çağrısına indirir. Daha fazla seçenek için, filigran belgesine bakın.

Metin Çıkarma

ComPDFKit Uygulaması:

using ComPDFKit.PDFDocument;
using System.Text;

var document = CPDFDocument.InitWithFilePath("document.pdf");

// Extract text (verbose)
var allText = new StringBuilder();
for (int i = 0; i < document.PageCount; i++)
{
    var page = document.PageAtIndex(i);
    var textPage = page.GetTextPage();
    allText.AppendLine(textPage.GetText(0, textPage.CountChars()));
    textPage.Release();
    page.Release();
}

document.WriteToFilePath("output.pdf");
document.Release(); // Must remember to release!
using ComPDFKit.PDFDocument;
using System.Text;

var document = CPDFDocument.InitWithFilePath("document.pdf");

// Extract text (verbose)
var allText = new StringBuilder();
for (int i = 0; i < document.PageCount; i++)
{
    var page = document.PageAtIndex(i);
    var textPage = page.GetTextPage();
    allText.AppendLine(textPage.GetText(0, textPage.CountChars()));
    textPage.Release();
    page.Release();
}

document.WriteToFilePath("output.pdf");
document.Release(); // Must remember to release!
Imports ComPDFKit.PDFDocument
Imports System.Text

Dim document = CPDFDocument.InitWithFilePath("document.pdf")

' Extract text (verbose)
Dim allText As New StringBuilder()
For i As Integer = 0 To document.PageCount - 1
    Dim page = document.PageAtIndex(i)
    Dim textPage = page.GetTextPage()
    allText.AppendLine(textPage.GetText(0, textPage.CountChars()))
    textPage.Release()
    page.Release()
Next

document.WriteToFilePath("output.pdf")
document.Release() ' Must remember to release!
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

using IronPdf;

var pdf = PdfDocument.FromFile("document.pdf");

// Extract text (one-liner)
string allText = pdf.ExtractAllText();

pdf.SaveAs("output.pdf");
// No Release() needed - GC handles cleanup
using IronPdf;

var pdf = PdfDocument.FromFile("document.pdf");

// Extract text (one-liner)
string allText = pdf.ExtractAllText();

pdf.SaveAs("output.pdf");
// No Release() needed - GC handles cleanup
Imports IronPdf

Dim pdf = PdfDocument.FromFile("document.pdf")

' Extract text (one-liner)
Dim allText As String = pdf.ExtractAllText()

pdf.SaveAs("output.pdf")
' No Release() needed - GC handles cleanup
$vbLabelText   $csharpLabel

IronPDF, manuel Release() çağrıları ile çok satırlı metin çıkarmayı tek bir yönteme indirir. Daha fazla çıkarma seçeneği için metin çıkarma belgelerine bakın.

Şifre Koruma

IronPDF Uygulaması:

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>");

// Set security
pdf.SecuritySettings.UserPassword = "userPassword";
pdf.SecuritySettings.OwnerPassword = "ownerPassword";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("protected.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>");

// Set security
pdf.SecuritySettings.UserPassword = "userPassword";
pdf.SecuritySettings.OwnerPassword = "ownerPassword";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("protected.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>")

' Set security
pdf.SecuritySettings.UserPassword = "userPassword"
pdf.SecuritySettings.OwnerPassword = "ownerPassword"
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights
pdf.SecuritySettings.AllowUserCopyPasteContent = False

pdf.SaveAs("protected.pdf")
$vbLabelText   $csharpLabel

Kapsamlı güvenlik seçenekleri için şifreleme belgelerine bakın.

Kritik Taşıma Notları

Tüm Release() Çağrılarını Kaldır

En etkili değişiklik, manuel bellek yönetiminin kaldırılmasıdır. ComPDFKit, belgelerde, sayfalarda ve metin sayfalarında açık Release() çağrılarını gerektirir.IronPDF bunu .NET çöp toplayıcı aracılığıyla otomatik olarak yapar:

//ComPDFKit- manual cleanup required
document.Release();
page.Release();
textPage.Release();

//IronPDF- no equivalent needed
// GC handles cleanup automatically
//ComPDFKit- manual cleanup required
document.Release();
page.Release();
textPage.Release();

//IronPDF- no equivalent needed
// GC handles cleanup automatically
'ComPDFKit- manual cleanup required
document.Release()
page.Release()
textPage.Release()

'IronPDF- no equivalent needed
' GC handles cleanup automatically
$vbLabelText   $csharpLabel

Doğal HTML İşleme

ComPDFKit, editör API'leri ile manuel metin yerleştirme gerektirir.IronPDF kendi Chromium motoru ile HTML/CSS'yi doğrudan işler, modern CSS3, JavaScript ve duyarlı düzenleri destekler.

Aynı Sayfa Dizinleme

Her iki kütüphane de 0 tabanlı indeksleme kullanır (Pages[0] birinci sayfadır)—sayfa erişim kodu için değişiklik gerekmez.

Basitleştirilmiş Metin Çıkartma

Çok satırlı GetTextPage() + GetText() + Release() modelini tek bir ExtractAllText() çağrısı ile değiştirin.

Akıcı Birleştirme API'si

ImportPagesAtIndex(doc2, "0-9", pageCount) yerine basit Merge(pdf1, pdf2) kullanın.

Taşınma Sonrası Kontrollistesi

Kod taşımasını tamamladıktan sonra, aşağıdakileri doğrulayın:

  • Tüm birim testlerini çalıştırarak PDF oluşturmanın doğru çalıştığını doğrulayın
  • PDF çıktı kalitesini karşılaştırın (IronPDF'nin Chromium motoru genellikle daha iyi işler)
  • Karmaşık CSS ve JavaScript ile HTML işleme test edin
  • Metin çıkarma doğruluğunu doğrulayın
  • Form işlevselliğini test edin
  • Yığın işlemlerinin performansını test edin
  • Tüm hedef ortamları test edin
  • CI/CD yapılarını güncelleyin -ComPDFKitlisans dosyalarını kaldırın

Ek Kaynaklar


ComPDFKit'ten IronPDF'ye geçiş, ComPDFKit'in sahip olmadığı doğal HTML'den PDF'ye dönüştürme sağlarken, manuel bellek yönetimi gereksinimini Release() çağrıları ile ortadan kaldırır. IronPDF'in olgun ekosistemine geçiş, kurumsal projelerin ihtiyaç duyduğu dokümantasyon derinliği, topluluk desteği ve kanıtlanmış kararlılığı sağlar.

Lütfen dikkate alınComPDFKit, ilgili sahibinin tescilli markasıdır. Bu siteComPDFKitile bağlantılı değildir, onaylanmamış veya onun tarafından finanse edilmemiştir. 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.

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