Passer au contenu du pied de page
GUIDES DE MIGRATION

Comment migrer de Gnostice PDFOne vers IronPDF en C#

Migrer de Gnostice PDFOneversIronPDF: Guide de migration complet en C

La migration de Gnostice PDFOneversIronPDFtransforme votre flux de travail PDF .NET d'une approche basée sur la coordination et fragmentée par plate-forme à une solution unifiée, alimentée par HTML/CSS, avec une prise en charge complète des normes Web modernes. Ce guide fournit un chemin de migration complet, étape par étape, qui élimine les limitations documentées autour de CSS, JavaScript et la stabilité de la mémoire pour les développeurs professionnels .NET.

Pourquoi migrer de Gnostice PDFOnevers IronPDF

Les défis PDFOne de Gnostice

Gnostice PDFOne et Document Studio .NET ont des limitations bien documentées qui affectent les applications de production :

  1. Pas de support CSS externe : La documentation de Gnostice PDFOneindique explicitement qu'il ne prend pas en charge les feuilles de style CSS externes, une exigence fondamentale pour la conversion moderne du web au PDF.

  2. Pas d'exécution JavaScript : Le contenu dynamique nécessitant JavaScript ne peut pas être rendu, ce qui rend impossible la conversion précise des applications web modernes.

  3. Pas de conversion directe de HTML en PDF : Gnostice PDFOnen'offre pas de conversion directe de HTML en PDF. Vous devez utiliser Document Studio pour la conversion HTML ou analyser et rendre manuellement les éléments HTML, ce qui représente un coût de développement important.

  4. Fragmentation des plateformes : produits distincts pour WinForms, WPF, ASP.NET, Xamarin, chacun avec des fonctionnalités et des API différentes. Vous pouvez avoir besoin de plusieurs licences et bases de code.

  5. Fuites de mémoire et stabilité : Les forums d'utilisateurs et Stack Overflow signalent des fuites de mémoire persistantes, l'erreur JPEG #53 et des exceptions StackOverflow lors du traitement des images.

  6. Pas d'Unicode de droite à gauche : L'arabe, l'hébreu et les autres langues RTL ne sont explicitement pas prises en charge, ce qui constitue un obstacle pour les applications internationales.

  7. <Prise en charge limitée des signatures numériques : Les signatures numériques ont toujours été absentes ou peu fiables dans Gnostice PDFOne.

  8. <API basée sur les coordonnées : De nombreuses opérations nécessitent un positionnement manuel X/Y plutôt que des approches de mise en page modernes, ce qui exige des calculs précis pour chaque placement d'élément.

Comparaison entre Gnostice PDFOneet IronPDF

Aspect Gnostice PDFOne IronPDF
CSS externe Non pris en charge Prise en charge complète
Exécution JavaScript Non pris en charge Moteur Chromium complet
Langues RTL Non pris en charge Prise en charge complète de l'Unicode
Signatures numériques Limité/manquant Prise en charge complète de X509
Plateforme Produits fragmentés Bibliothèque unique et unifiée
Stabilité de la mémoire Problèmes signalés Stable, bien géré
HTML vers PDF Basique, nécessite des solutions de contournement Rendu de qualité Chrome
Courbe d'apprentissage API complexe API simple et intuitive
CSS modernes (Flexbox, Grid) Non pris en charge Prise en charge complète de CSS3
Traitement des images Problèmes connus Fiable

Pour les équipes qui prévoient l'adoption de .NET 10 et C# 14 jusqu'en 2025 et 2026,IronPDFconstitue une base à l'épreuve du temps avec une bibliothèque unifiée qui fonctionne de manière cohérente sur toutes les plateformes .NET.


Évaluation de la complexité de la migration

Estimation de l'effort par fonctionnalité

Fonction Complexité de la migration Notes
Charger/Enregistrer des PDF Très faible Mappage direct
Fusionner des PDF Très faible Mappage direct
Diviser les PDF Faible Approche similaire
Extraction de texte Faible Changement de nom de la méthode
Filigranes Faible Plus simple avec IronPDF
En-têtes/Pieds de page Faible Approche HTML
HTML vers PDF Faible Mieux avec IronPDF
Chiffrement Moyen Structure différente de l'API
Champs de formulaire Moyen Différences d'accès à la propriété
Signatures numériques Faible Désormais pris en charge (n'était pas fiable dans Gnostice PDFOne)

Fonctionnalités que vous gagnez

Lors de la migration de Gnostice PDFOnevers IronPDF, ces fonctionnalités jusqu'alors impossibles deviennent disponibles :

  • Feuilles de style CSS externes
  • Exécution JavaScript
  • Prise en charge des langues RTL (arabe, hébreu)
  • Grille CSS et Flexbox
  • Signatures numériques fiables
  • Meilleure gestion de la mémoire
  • Prise en charge multiplateforme avec une base de code unique

Avant de commencer

Prérequis

  1. <Version .NET :IronPDFprend en charge .NET Framework 4.6.2+ et .NET Core 2.0+ / .NET 5/6/7/8/9+
  2. <Clé de licence : Obtenez votre clé de licenceIronPDFà partir de ironpdf.com
  3. Sauvegarde : Créer une branche pour le travail de migration

Identifier toutes les utilisations de Gnostice PDFOne

# Find all Gnostice references
grep -r "Gnostice\|PDFOne\|PDFDocument\|PDFPage\|DocExporter" --include="*.cs" .

# Find package references
grep -r "Gnostice\|PDFOne" --include="*.csproj" .
# Find all Gnostice references
grep -r "Gnostice\|PDFOne\|PDFDocument\|PDFPage\|DocExporter" --include="*.cs" .

# Find package references
grep -r "Gnostice\|PDFOne" --include="*.csproj" .
SHELL

Modifications du paquet NuGet

# Remove Gnostice PDFOnepackages
dotnet remove package PDFOne.NET
dotnet remove package Gnostice.DocumentStudio.NET
dotnet remove package Gnostice.PDFOne.NET
dotnet remove package Gnostice.XtremeDocumentStudio.NET

# Install IronPDF
dotnet add package IronPdf
# Remove Gnostice PDFOnepackages
dotnet remove package PDFOne.NET
dotnet remove package Gnostice.DocumentStudio.NET
dotnet remove package Gnostice.PDFOne.NET
dotnet remove package Gnostice.XtremeDocumentStudio.NET

# Install IronPDF
dotnet add package IronPdf
SHELL

Migration rapide

Étape 1 : Mise à jour de la configuration de la licence

Avant (Gnostice PDFOne):

// Gnostice license often set via config or property
PDFOne.License.LicenseKey = "YOUR-GNOSTICE-LICENSE";
// Gnostice license often set via config or property
PDFOne.License.LicenseKey = "YOUR-GNOSTICE-LICENSE";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Après (IronPDF):

// Set once at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";

// Or in appsettings.json:
// { "IronPdf.License.LicenseKey": "YOUR-LICENSE-KEY" }
// Set once at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";

// Or in appsettings.json:
// { "IronPdf.License.LicenseKey": "YOUR-LICENSE-KEY" }
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Étape 2 : mise à jour des importations de l'espace de noms

// Before (Gnostice PDFOne)
using Gnostice.PDFOne;
using Gnostice.PDFOne.Document;
using Gnostice.PDFOne.Graphics;

// After (IronPDF)
using IronPdf;
using IronPdf.Editing;
// Before (Gnostice PDFOne)
using Gnostice.PDFOne;
using Gnostice.PDFOne.Document;
using Gnostice.PDFOne.Graphics;

// After (IronPDF)
using IronPdf;
using IronPdf.Editing;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Référence API complète

Mappage des classes de base

Gnostice PDFOne IronPDF Description du projet
Document PDF Document PDF Classe du document PDF principal
PDFPage PdfDocument.Pages[i] Représentation des pages
PDFFont Style CSS Spécification des polices de caractères
PDFTextElement Contenu HTML Contenu du texte
PDFImageElement HTML <img> tags Contenu de l'image
DocExporter ChromePdfRenderer Conversion HTML/URL en PDF

Opérations documentaires

Gnostice PDFOne IronPDF Notes
new PDFDocument() new PdfDocument() Créer un nouveau document
doc.Load(path) PdfDocument.FromFile(path) Charger à partir d'un fichier
doc.Open() N/A (automatique) Ouvrir le document
doc.Save(path) pdf.SaveAs(path) Enregistrer dans un fichier
doc.Close() pdf.Dispose() Ressources pour la publication
doc.Pages.Count pdf.PageCount Nombre de pages
doc.Pages.Add() Rendre HTML ou fusionner Ajouter une page

Opérations de fusion

Gnostice PDFOne IronPDF Notes
doc.Append(otherDoc) PdfDocument.Merge(pdf1, pdf2) Fusionner des documents
Appels multiples de Append() PdfDocument.Merge(list) Fusionner plusieurs

Exemples de migration de code

Exemple 1 : Conversion HTML vers PDF

Avant (Gnostice PDFOne):

// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Graphics;
using System;

class Program
{
    static void Main()
    {
        PDFDocument doc = new PDFDocument();
        doc.Open();

        PDFPage page = doc.Pages.Add();

        // PDFOne doesn't have direct HTML vers PDFconversion
        // You need to use Document Studio for HTML conversion
        // Or manually parse and render HTML elements

        PDFTextElement textElement = new PDFTextElement();
        textElement.Text = "Simple text conversion instead of HTML";
        textElement.Draw(page, 10, 10);

        doc.Save("output.pdf");
        doc.Close();
    }
}
// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Graphics;
using System;

class Program
{
    static void Main()
    {
        PDFDocument doc = new PDFDocument();
        doc.Open();

        PDFPage page = doc.Pages.Add();

        // PDFOne doesn't have direct HTML vers PDFconversion
        // You need to use Document Studio for HTML conversion
        // Or manually parse and render HTML elements

        PDFTextElement textElement = new PDFTextElement();
        textElement.Text = "Simple text conversion instead of HTML";
        textElement.Draw(page, 10, 10);

        doc.Save("output.pdf");
        doc.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Après (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<h1>Hello World</h1><p>This is HTML content.</p>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<h1>Hello World</h1><p>This is HTML content.</p>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La différence est de taille : Gnostice PDFOnene peut pas convertir directement HTML en PDF. Vous devez créer manuellement des éléments de texte et les positionner à l'aide de coordonnées. Le ChromePdfRendererd'IronPDF permet un rendu HTML direct avec une prise en charge complète de CSS3 et de JavaScript. Voir la documentation HTML vers PDF pour plus d'options de rendu.

Exemple 2 : Fusionner des fichiers PDF

Avant (Gnostice PDFOne):

// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Document;
using System;

class Program
{
    static void Main()
    {
        PDFDocument doc1 = new PDFDocument();
        doc1.Load("document1.pdf");

        PDFDocument doc2 = new PDFDocument();
        doc2.Load("document2.pdf");

        PDFDocument mergedDoc = new PDFDocument();
        mergedDoc.Open();

        mergedDoc.Append(doc1);
        mergedDoc.Append(doc2);

        mergedDoc.Save("merged.pdf");

        doc1.Close();
        doc2.Close();
        mergedDoc.Close();
    }
}
// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Document;
using System;

class Program
{
    static void Main()
    {
        PDFDocument doc1 = new PDFDocument();
        doc1.Load("document1.pdf");

        PDFDocument doc2 = new PDFDocument();
        doc2.Load("document2.pdf");

        PDFDocument mergedDoc = new PDFDocument();
        mergedDoc.Open();

        mergedDoc.Append(doc1);
        mergedDoc.Append(doc2);

        mergedDoc.Save("merged.pdf");

        doc1.Close();
        doc2.Close();
        mergedDoc.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Après (IronPDF):

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

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

        var merged = PdfDocument.Merge(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("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");

        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

L'approche PDFOne de Gnostice nécessite la création d'un nouveau document, son ouverture, le chargement séparé des documents sources, l'ajout de chacun d'entre eux et la fermeture manuelle des trois documents. La méthode statique Merge d'IronPDF gère cela en trois lignes avec une gestion appropriée des ressources. En savoir plus sur la fusion et la division de PDF.

Exemple 3 : Ajouter un filigrane au PDF

Avant (Gnostice PDFOne):

// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Graphics;
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        PDFDocument doc = new PDFDocument();
        doc.Load("input.pdf");

        PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 48);

        foreach (PDFPage page in doc.Pages)
        {
            PDFTextElement watermark = new PDFTextElement();
            watermark.Text = "CONFIDENTIAL";
            watermark.Font = font;
            watermark.Color = Color.FromArgb(128, 255, 0, 0);
            watermark.RotationAngle = 45;

            watermark.Draw(page, 200, 400);
        }

        doc.Save("watermarked.pdf");
        doc.Close();
    }
}
// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Graphics;
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        PDFDocument doc = new PDFDocument();
        doc.Load("input.pdf");

        PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 48);

        foreach (PDFPage page in doc.Pages)
        {
            PDFTextElement watermark = new PDFTextElement();
            watermark.Text = "CONFIDENTIAL";
            watermark.Font = font;
            watermark.Color = Color.FromArgb(128, 255, 0, 0);
            watermark.RotationAngle = 45;

            watermark.Draw(page, 200, 400);
        }

        doc.Save("watermarked.pdf");
        doc.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Après (IronPDF):

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

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

        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 48,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        pdf.ApplyStamp(watermark);
        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");

        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 48,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        pdf.ApplyStamp(watermark);
        pdf.SaveAs("watermarked.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

L'approche PDFOne de Gnostice nécessite la création d'objets PDFFont, l'itération manuelle des pages, le calcul des coordonnées (200, 400) et la définition des propriétés des objets PDFTextElement. Le TextStamper d'IronPDF offre une configuration déclarative avec centrage automatique et application de la page - aucun calcul de coordonnées n'est nécessaire. Voir la documentation sur le filigrane pour des options supplémentaires.


Notesde migration essentielles

Mise en page basée sur les coordonnées vers HTML/CSS

Le changement de paradigme le plus important dans cette migration Gnostice PDFOneest le passage d'un positionnement basé sur les coordonnées à une mise en page HTML/CSS :

// Gnostice PDFOne: Manual coordinate positioning
watermark.Draw(page, 200, 400);  // X=200, Y=400

// IronPDF: Declarative alignment
watermark.VerticalAlignment = VerticalAlignment.Middle;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
// Gnostice PDFOne: Manual coordinate positioning
watermark.Draw(page, 200, 400);  // X=200, Y=400

// IronPDF: Declarative alignment
watermark.VerticalAlignment = VerticalAlignment.Middle;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Les objets de police à la stylisation CSS

// Gnostice PDFOne
PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 48);
watermark.Font = font;

//IronPDF- use CSS in HTML content
var html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 48pt;'>Text</span>";
// Gnostice PDFOne
PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 48);
watermark.Font = font;

//IronPDF- use CSS in HTML content
var html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 48pt;'>Text</span>";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Indexation des pages

Gnostice PDFOne utilise souvent des pages indexées à 1, tandis qu'IronPDF utilise des pages indexées à 0 (convention .NET standard) :

// Gnostice PDFOne: May use 1-indexed
var page = doc.Pages[1];  // First page

// IronPDF: 0-indexed
var page = pdf.Pages[0];  // First page
// Gnostice PDFOne: May use 1-indexed
var page = doc.Pages[1];  // First page

// IronPDF: 0-indexed
var page = pdf.Pages[0];  // First page
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Caractéristiques qui fonctionnent maintenant

Après avoir migré de Gnostice PDFOnevers IronPDF, ces fonctionnalités auparavant problématiques ou impossibles deviennent disponibles :

  • CSS externe : les feuilles de style qui ne fonctionnaient pas dans Gnostice PDFOnes'affichent désormais correctement
  • Contenu JavaScript : Le contenu dynamique qui manquait apparaît désormais
  • Langues TRL : L'arabe, l'hébreu et les autres langues de droite à gauche fonctionnent correctement
  • CSS Grid et Flexbox : Les techniques modernes de mise en page sont entièrement prises en charge
  • Signatures numériques : Signature fiable de certificats X509

Dépannage

Édition 1 : PDFTextElement introuvable

Problème : PDFTextElementn'existe pas dans IronPDF.

Solution : Utilisez du contenu HTML ou TextStamper :

// For new documents - render HTML
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<p>Your text here</p>");

// For existing documents - use stampers
var stamper = new TextStamper() { Text = "Added Text" };
pdf.ApplyStamp(stamper);
// For new documents - render HTML
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<p>Your text here</p>");

// For existing documents - use stampers
var stamper = new TextStamper() { Text = "Added Text" };
pdf.ApplyStamp(stamper);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Numéro 2 : Objets PDFFont

Problème : Gnostice PDFOneutilise des objets PDFFont;IronPDFutilise CSS.

Solution :

// Gnostice PDFOne
PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 12);

//IronPDF- use CSS
var html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 12pt;'>Text</span>";
// Gnostice PDFOne
PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 12);

//IronPDF- use CSS
var html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 12pt;'>Text</span>";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Édition 3 : DocExporter introuvable

Problème : la classe DocExportern'existe pas dans IronPDF.

Solution : Utilisez ChromePdfRenderer:

// Gnostice PDFOne
DocExporter exporter = new DocExporter();
exporter.Export(doc, "output.pdf", DocumentFormat.PDF);

// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
pdf.SaveAs("output.pdf");
// Gnostice PDFOne
DocExporter exporter = new DocExporter();
exporter.Export(doc, "output.pdf", DocumentFormat.PDF);

// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Edition 4 : Améliorations de la mémoire

Problème : Gnostice PDFOnea signalé des fuites de mémoire.

Solution :IronPDFassure une gestion stable de la mémoire. Utilisez des modèles d'élimination appropriés :

using (var pdf = PdfDocument.FromFile("large.pdf"))
{
    // Process PDF
    pdf.SaveAs("output.pdf");
}  // Automatically disposed
using (var pdf = PdfDocument.FromFile("large.pdf"))
{
    // Process PDF
    pdf.SaveAs("output.pdf");
}  // Automatically disposed
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Liste de contrôle de la migration

Pré-migration

  • [Inventaire de toutes les utilisations de Gnostice PDFOnedans la base de code
  • [Notez les fonctionnalités qui ne fonctionnaient pas (CSS, JS, RTL) - elles fonctionneront désormais !
  • [ ] Documenter les problèmes de mémoire pour les tests de comparaison
  • [Obtenir la clé de licence IronPDF
  • [Créer une branche de migration dans le contrôle de version

Migration de code

  • [Supprimer les paquets NuGet de Gnostice PDFOne
  • [Installer le paquet NuGet IronPdf : dotnet add package IronPdf
  • [Mise à jour des importations d'espaces de noms
  • [Remplacer la configuration de la clé de licence
  • [Convertissez Document PDFen PdfDocument
  • [Convertir DocExporteren ChromePdfRenderer
  • [Remplacer le dessin basé sur les coordonnées par l'estampillage HTML
  • [Mise à jour de PDFFonten style CSS
  • [Convertissez doc.Append() en PdfDocument.Merge()

Testing

  • [Test de conversion HTML vers PDF
  • [Vérifier que le CSS externe fonctionne maintenant
  • [Tester le contenu dépendant de JavaScript
  • [Test des langues RTL (si nécessaire)
  • [Test de signatures numériques (maintenant disponible !)
  • [Test de fusion de PDF
  • [Test de filigrane
  • [Comparer l'utilisation de la mémoire

Post-Migration

  • [Supprimer la licence Gnostice PDFOne
  • [Mise à jour de la documentation
  • [Supprimer les solutions de contournement pour les limitations de Gnostice PDFOne
  • [Former l'équipe à l'API IronPDF

Conclusion

La migration de Gnostice PDFOnevers IronPdf élimine la fragmentation des plateformes, résout les limitations documentées autour de la prise en charge de CSS et JavaScript, et remplace le positionnement des éléments basé sur les coordonnées par une mise en page HTML/CSS moderne. Le résultat est un code plus propre et plus facile à maintenir, avec un accès à des fonctionnalités qui étaient auparavant impossibles - feuilles de style externes, langages RTL, exécution JavaScript et signatures numériques fiables.

La bibliothèque unifiée d'IronPDF fonctionne de manière cohérente sur toutes les plateformes .NET, éliminant ainsi le besoin de produits distincts pour WinForms, WPF et ASP.NET. Pour les équipes qui rencontrent des problèmes de stabilité de la mémoire avec Gnostice PDFOne,IronPDFconstitue une base plus robuste pour les applications de production.

Explorez la documentation complète IronPDF, tutoriel, et référence API pour accélérer votre migration vers IronPDF.

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