Passer au contenu du pied de page
GUIDES DE MIGRATION

Comment migrer de ComPDFKit à IronPDF en C#

Bien que ComPDFKitoffre de solides fonctionnalités de manipulation des PDF, plusieurs facteurs poussent les équipes de développement à envisager des alternatives plus établies.

Maturité du marché et comparaison de l'écosystème

ComPDFKit est confronté à des défis communs aux nouveaux venus sur le marché : lacunes dans la documentation, communauté réduite et couverture limitée de Stack Overflow. La décennie de perfectionnement d'IronPDF offre la stabilité et les ressources dont les projets d'entreprise ont besoin.

Aspect ComPDFKit IronPDF
HTML-à-PDF Nécessite une analyse HTML manuelle Rendu natif de Chromium
Maturité du marché Nouveau participant plus de 10 ans d'expérience
Taille de la communauté Stack Overflow, plus petit, plus limité Une communauté importante et active
Documentation Quelques lacunes Tutoriels et guides détaillés
Téléchargements Croissance plus de 10 millions de téléchargements de NuGet
Style API C++ influencé, verbeux API moderne et fluide .NET
Gestion de la mémoire Appels manuels Release() Gestion automatique de GC

Parité des fonctionnalités

Les deux bibliothèques prennent en charge des fonctionnalités PDF complètes :

Fonction ComPDFKit IronPDF
HTML vers PDF Basique/Manuel ✅Native Chromium
URL vers PDF Mise en œuvre du manuel ✅Intégré
Créer un PDF à partir de zéro
Édition PDF
Extraction de texte
Fusionner/Séparer
Signatures numériques
Remplissage de formulaires
Filigranes
Multiplateforme Windows, Linux, macOS Windows, Linux, macOS

Avantages principaux de la migration

  1. Rendu HTML supérieur : le moteur Chromium d'IronPDF gère nativement les technologies CSS3, JavaScript et les mises en page réactives modernes.
  2. Écosystème mature : plus de 10 ans de perfectionnement, une documentation exhaustive et une stabilité éprouvée
  3. API simplifiée : moins de code répétitif, aucune gestion manuelle de la mémoire avec les appels Release()
  4. Meilleure intégration .NET : prise en charge native d'async/await, de LINQ et d'interfaces fluides
  5. Ressources abondantes : des milliers de réponses et d'exemples de la communauté Stack Overflow

Préparation de la migration

Prérequis

Assurez-vous que votre environnement répond à ces exigences :

  • .NET Framework 4.6.2+ ou .NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+ ou VS Code avec l'extension C#
  • Accès au Package Manager NuGet
  • Clé de licenceIronPDF(essai gratuit disponible sur ironpdf.com)

Audit de l'utilisation de ComPDFKit

Exécutez ces commandes dans le répertoire de votre solution pour identifier toutes les références à ComPDFKit:

# Find all ComPDFKitusages 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 all ComPDFKitusages 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

Modifications importantes à prévoir

Changement ComPDFKit IronPDF Impact
Chargement de documents CPDFDocument.InitWithFilePath() PdfDocument.FromFile() Changement de nom de la méthode
Économie document.WriteToFilePath() pdf.SaveAs() Changement de nom de la méthode
Nettoyage de la mémoire document.Release() requis Automatique (GC) Supprimer le nettoyage manuel
Accès à la page document.PageAtIndex(i) pdf.Pages[i] Accès de type tableau
Indexation des pages basé sur 0 basé sur 0 Aucune modification n'est nécessaire
Rendu HTML Mise en œuvre du manuel RenderHtmlAsPdf() Simplification majeure
Extraction de texte textPage.GetText() pdf.ExtractAllText() API simplifiée

Processus de migration étape par étape

Étape 1 : Mise à jour des paquets NuGet

Supprimez les paquets ComPDFKitet installezIronPDF:

# Remove ComPDFKitpackages
dotnet remove package ComPDFKit.NetCore
dotnet remove package ComPDFKit.NetFramework

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

# Install IronPDF
dotnet add package IronPdf
SHELL

Étape 2 : Mise à jour des références aux espaces de noms

Remplacer les espaces de noms ComPDFKitparIronPDF:

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

Étape 3 : configuration de la licence

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

Référence complète de migration des API

Opérations documentaires

Tâches ComPDFKit IronPDF
Créer un document vide CPDFDocument.CreateDocument() new PdfDocument()
Charger à partir d'un fichier CPDFDocument.InitWithFilePath(path) PdfDocument.FromFile(path)
Charger à partir du flux CPDFDocument.InitWithStream(stream) PdfDocument.FromStream(stream)
Enregistrer dans un fichier document.WriteToFilePath(path) pdf.SaveAs(path)
Obtenir le nombre de pages document.PageCount pdf.PageCount
Publication/élimination document.Release() Non requis

Conversion HTML en PDF

Tâches ComPDFKit IronPDF
Chaîne HTML vers PDF Mise en œuvre manuelle requise renderer.RenderHtmlAsPdf(html)
Fichier HTML vers PDF Mise en œuvre manuelle requise renderer.RenderHtmlFileAsPdf(path)
URL vers PDF Mise en œuvre manuelle requise renderer.RenderUrlAsPdf(url)
Définir la taille de la page Paramètres de création de la page renderer.RenderingOptions.PaperSize
Définir les marges Via la configuration de l'éditeur renderer.RenderingOptions.MarginTop etc.

Opérations de fusion et de division

Tâches ComPDFKit IronPDF
Fusionner des documents doc1.ImportPagesAtIndex(doc2, range, index) PdfDocument.Merge(pdf1, pdf2)
Document fractionné Extraire les pages vers un nouveau document pdf.CopyPages(start, end)

Exemples de migration de code

Conversion HTML en PDF

La différence la plus significative entre ComPDFKitetIronPDFest le rendu HTML. ComPDFKitnécessite un placement manuel du texte, tandis qu'IronPDF effectue un rendu HTML natif grâce à son moteur Chromium.

Mise en œuvre de ComPDFKit:

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

class Program
{
    static void Main()
    {
        var document = CPDFDocument.CreateDocument();
        var page = document.InsertPage(0, 595, 842, "");

        // ComPDFKitrequires manual HTML rendering
        // Native HTML to PDF not directly supported
        var editor = page.GetEditor();
        editor.BeginEdit(CPDFEditType.EditText);
        editor.CreateTextWidget(new System.Drawing.RectangleF(50, 50, 500, 700), "HTML content here");
        editor.EndEdit();

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

class Program
{
    static void Main()
    {
        var document = CPDFDocument.CreateDocument();
        var page = document.InsertPage(0, 595, 842, "");

        // ComPDFKitrequires manual HTML rendering
        // Native HTML to PDF not directly supported
        var editor = page.GetEditor();
        editor.BeginEdit(CPDFEditType.EditText);
        editor.CreateTextWidget(new System.Drawing.RectangleF(50, 50, 500, 700), "HTML content here");
        editor.EndEdit();

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

Module Program
    Sub Main()
        Dim document = CPDFDocument.CreateDocument()
        Dim page = document.InsertPage(0, 595, 842, "")

        ' ComPDFKit requires manual HTML rendering
        ' Native HTML to PDF not directly supported
        Dim editor = page.GetEditor()
        editor.BeginEdit(CPDFEditType.EditText)
        editor.CreateTextWidget(New RectangleF(50, 50, 500, 700), "HTML content here")
        editor.EndEdit()

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

Mise en œuvre d'IronPDF:

// 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 élimine le besoin de positionnement manuel du texte et de gestion de l'éditeur. Pour plus d'options de conversion HTML, consultez la documentation HTML au format PDF.

Fusionner plusieurs fichiers PDF

Mise en œuvre de ComPDFKit:

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

Mise en œuvre d'IronPDF:

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

La méthode statique Merge d'IronPDF élimine le modèle verbeux ImportPagesAtIndex avec les chaînes de plage de pages. Pour plus d'options, consultez la documentation sur la fusion de fichiers PDF .

Ajouter des filigranes

Le filigrane démontre le changement de paradigme entre l'approche basée sur l'éditeur de ComPDFKitet le style basé sur HTML d'IronPDF.

Mise en œuvre de ComPDFKit:

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

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

        for (int i = 0; i < document.PageCount; i++)
        {
            var page = document.PageAtIndex(i);
            var editor = page.GetEditor();
            editor.BeginEdit(CPDFEditType.EditText);

            var textArea = editor.CreateTextArea();
            textArea.SetText("CONFIDENTIAL");
            textArea.SetFontSize(48);
            textArea.SetTransparency(128);

            editor.EndEdit();
            page.Release();
        }

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

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

        for (int i = 0; i < document.PageCount; i++)
        {
            var page = document.PageAtIndex(i);
            var editor = page.GetEditor();
            editor.BeginEdit(CPDFEditType.EditText);

            var textArea = editor.CreateTextArea();
            textArea.SetText("CONFIDENTIAL");
            textArea.SetFontSize(48);
            textArea.SetTransparency(128);

            editor.EndEdit();
            page.Release();
        }

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

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

        For i As Integer = 0 To document.PageCount - 1
            Dim page = document.PageAtIndex(i)
            Dim editor = page.GetEditor()
            editor.BeginEdit(CPDFEditType.EditText)

            Dim textArea = editor.CreateTextArea()
            textArea.SetText("CONFIDENTIAL")
            textArea.SetFontSize(48)
            textArea.SetTransparency(128)

            editor.EndEdit()
            page.Release()
        Next

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

Mise en œuvre d'IronPDF:

// 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 réduit une mise en œuvre de filigrane de plus de 20 lignes à un seul appel de méthode avec un style HTML/CSS. Pour plus d'options, consultez la documentation sur les filigranes .

Extraction de texte

Mise en œuvre de ComPDFKit:

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

Mise en œuvre d'IronPDF:

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 réduit l'extraction de texte multiligne avec des appels manuels Release() à une seule méthode. Pour plus d'options d'extraction, consultez la documentation sur l'extraction de texte .

Protection par mot de passe

Mise en œuvre d'IronPDF:

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

Pour connaître toutes les options de sécurité, consultez la documentation sur le chiffrement .

Notes de migration essentielles

Supprimez tous les appels à Release()

Le changement le plus important est la suppression de la gestion manuelle de la mémoire. ComPDFKitnécessite des appels explicites Release() sur les documents, les pages et les pages de texte.IronPDFs'en charge automatiquement grâce au garbage collection de .NET :

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

Rendu HTML natif

ComPDFKit nécessite un placement manuel du texte à l'aide des API de l'éditeur.IronPDFeffectue un rendu HTML/CSS natif grâce à son moteur Chromium, prenant en charge les CSS3 modernes, le JavaScript et les mises en page réactives.

Indexation de la même page

Les deux bibliothèques utilisent l'indexation à partir de 0 (Pages[0] est la première page) — aucune modification nécessaire pour le code d'accès aux pages.

Extraction de texte simplifiée

Remplacez le modèle multiligne GetTextPage() + GetText() + Release() par un seul appel ExtractAllText().

API de fusion Fluent

Remplacez ImportPagesAtIndex(doc2, "0-9", pageCount) par simplement Merge(pdf1, pdf2).

Liste de contrôle post-migration

Après avoir effectué la migration du code, vérifiez les points suivants :

  • Exécutez tous les tests unitaires pour vérifier que la génération de PDF fonctionne correctement.
  • Comparer la qualité de sortie PDF (le moteur Chromium d'IronPDF peut rendre les résultats différemment, généralement mieux).
  • Tester le rendu HTML avec des CSS et JavaScript complexes.
  • Vérifier la précision de l'extraction de texte
  • Fonctionnalités du formulaire de test
  • Test de performance des opérations par lots
  • Tester dans tous les environnements cibles
  • Mise à jour des pipelines CI/CD
  • Supprimer les fichiers de licence ComPDFKit

Protéger l'avenir de votre infrastructure PDF

Avec .NET 10 à l'horizon et C# 14 introduisant de nouvelles fonctionnalités de langage, le choix d'une bibliothèque PDF mature et activement maintenue garantit une compatibilité à long terme. L'expérience de plus de 10 ans d'IronPDF, le soutien étendu de la communauté et la conception moderne de l'API signifient que votre investissement dans la migration porte ses fruits lorsque les projets se prolongent en 2025 et 2026.

Ressources supplémentaires


La migration de ComPDFKitversIronPDFélimine la gestion manuelle de la mémoire avec les appels Release() tout en fournissant un rendu HTML-to-PDF natif que ComPDFKitne possède pas. La transition vers l'écosystème mature d'IronPDF offre la profondeur de documentation, le soutien de la communauté et la stabilité éprouvée dont les projets d'entreprise ont besoin.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi