IRONSOFTWAREHOME
VIDÉOS

Comment utiliser le moteur IronPDF dans Docker | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 juillet 2026

Le 27 mai 2025, Apryse a acquis TallComponents. Les nouvelles licences pour TallPDF.NET et PDFKit.NET ne sont plus proposées, et Apryse redirige les nouveaux acheteurs vers le SDK iText (également détenu par Apryse). Les clients existants continuent de recevoir de l'assistance, mais le moteur est uniquement en maintenance. Pour les équipes actuellement en cours de livraison sur TallComponents, planifier une migration maintenant évite une coupure forcée plus tard.

Ce guide fournit un chemin de migration de TallComponentsvers IronPDF, y compris des instructions étape par étape, des mappages d'API et des exemples de code pour les développeurs .NET planifiant la transition.

Pourquoi planifier une migration TallComponents

TallComponents (fondée en 2001) a livré deux principaux produits PDF .NET : PDFKit.NET pour charger et manipuler des PDFs, et TallPDF.NET pour la génération de documents orientée mise en page. Suite à l'acquisition par Apryse, les nouvelles ventes de licences ont cessé, ce qui change l'horizon de planification pour les équipes s'appuyant sur la bibliothèque.

Limites clés de TallComponentsaujourd'hui

Fermé aux nouvelles licences : La page TallComponentsd'Apryse indique qu'il ne propose plus de nouvelles licences pour les produits TallComponentset dirige les nouveaux acheteurs vers le SDK iText. Les détenteurs de licences existantes continuent d'être soutenus.

PipelineHTMLuniquement XHTML : TallPDF.NET envoie une classe XhtmlParagraph qui analyse XHTML 1.0 Strict / XHTML 1.1 + CSS 2.1. PDFKit.NET à lui seul n'a pas de pipeline HTML. Le contenu moderne HTML5 + CSS3 + JavaScriptne s'affiche pas de manière fiable — il n'y a pas de moteur de navigateur sans tête dans la boîte.

Plateforme cible figée : TallComponents.PDFKit5 cible .NET Standard 2.0 ; l'ancien TallComponents.PDFKit (4.x) cible .NET Framework 2.0. Il n'y a pas de TFM .NET 8/9 publié.

Feuille de route uniquement maintenance : Avec l'énergie de développement d'Apryse concentrée sur le SDK Apryse et iText, les packages de marque TallComponentsreçoivent des mises à jour de maintenance mais aucune nouvelle feuille de route fonctionnelle.

##IronPDF: Une alternative moderne à TallComponents

IronPDF comble les lacunes principales qui affectent les utilisateurs de TallComponentssur les piles .NET actuelles :

FonctionTallComponentsIronPDF
Statut de vente actuelFermé aux nouvelles licences (Apryse acquis 2025-05-27)Vendu activement
Support HTML-vers-PDFXHTML 1.0/1.1 + CSS 2.1 via XhtmlParagraph (TallPDF.NET)Oui (HTML5/CSS3 avec Chromium)
JavaScripten HTMLNonES2024 complet
InstallationNuGet (TallComponents.PDFKit5, TallComponents.TallPDF5)NuGet (IronPdf)
Support clientClients existants uniquement ; nouveaux acheteurs dirigés vers iTextSupport actif et communauté
Investissement futurMaintenance uniquementFeuille de route à long terme

TallComponents utilise un modèle orienté XML/mise en page enraciné dans une ère antérieure de génération de documents .NET, tandis qu'IronPDF fournit un renduHTMLalimenté par Chromium aligné sur la façon dont les équipes construisent les applications frontales aujourd'hui.

Démarrage rapide : Migration de TallComponentsvers IronPDF

Étape 1 : Remplacer les paquets NuGet

Supprimer les packages TallComponentsauxquels votre projet fait référence. Les véritables identifiants de package sur nuget.org sont TallComponents.PDFKit5 (ou TallComponents.PDFKit pour 4.x) et TallComponents.TallPDF5 / TallPDF6 :

# Remove TallComponentspackages (whichever your project uses)
dotnet remove package TallComponents.PDFKit5
dotnet remove package TallComponents.TallPDF5
dotnet remove package TallComponents.PDFRasterizer4
SHELL

Installez IronPDF:

dotnet add package IronPdf

Pour les frameworks spécialisés,IronPDF propose des packs d'extension dédiés :

Serveur Blazor:

PM > Install-Package IronPdf.Extensions.Blazor

MAUI :

PM > Install-Package IronPdf.Extensions.Maui

Cadre MVC:

PM > Install-Package IronPdf.Extensions.Mvc.Framework

Étape 2 : Mise à jour des espaces de noms

Remplacer les espaces de noms TallComponentspar l'espace de noms IronPDF:

// Before (TallComponents — real namespaces)
using TallComponents.PDF;                    // Document, Page (PDFKit.NET)
using TallComponents.PDF.Shapes;             // TextShape, ImageShape (PDFKit)
using TallComponents.PDF.Security;           // PasswordSecurity
using TallComponents.PDF.Layout;             // Document, Section (TallPDF.NET)
using TallComponents.PDF.Layout.Paragraphs;  // TextParagraph, XhtmlParagraph

// After (IronPDF)
using IronPdf;

Étape 3 : initialisation de votre licence

Ajouter l'initialisation de la licence au démarrage de l'application :

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

TallComponentsto IronPDF API Mapping Reference (Référence de mappage de l'API de TallComponentsvers IronPDF)

Comprendre comment les concepts de TallComponentss'adaptent à IronPDF accélère le processus de migration :

TallComponentsIronPDFNotes
Document (TallPDF.NET: layout)ChromePdfRendererCréer un moteur de rendu pour la génération de PDF
Document (PDFKit.NET: manipulate)PdfDocumentCharger/éditer des PDFs existants
SectionAutomatiqueSections dérivées de la structure HTML
TextParagraphÉléments de texte HTMLUtilisez <p>, <h1>, <div>, etc.
ImageParagraph<img> baliseImagesHTMLstandard
TableParagraphHTML<table>TableauxHTMLstandard
XhtmlParagraph (XHTML 1.x + CSS 2.1)RenderHtmlAsPdf() (HTML5/CSS3 via Chromium)LeHTMLmoderne fonctionne
FontCSS font-familyPolices Web prises en charge
document.Write(...)pdf.SaveAs() / pdf.BinaryDataFichier ou byte[] en sortie
page.Overlay.Add(shape)pdf.ApplyStamp(stamper)Filigrane/superposition
outputDoc.Pages.Add(page.Clone())PdfDocument.Merge(...) / pdf.AppendPdf(...)Fusionner plusieurs PDF
Document.Security = new PasswordSecurity { ... }pdf.SecuritySettingsConfiguration de la sécurité des PDF
PageLayoutRenderingOptionsMise en page et marges

Exemples de migration de code

Conversion deHTMLen PDF

TallComponents gère leHTMLvia XhtmlParagraph de TallPDF.NET, qui analyse uniquement XHTML 1.0/1.1 + CSS 2.1. Le HTML5 moderne, CSS3, flexbox, grille et contenu piloté par JavaScriptne rentrent pas dans cette grammaire :

Approche de TallComponents:

// NuGet: Install-Package TallComponents.TallPDF5
// (HTML/XHTML conversion lives in TallPDF.NET, not in PDFKit.NET.)
using TallComponents.PDF.Layout;
using TallComponents.PDF.Layout.Paragraphs;
using System.IO;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Section section = document.Sections.Add();

        // XhtmlParagraph supports XHTML 1.0/1.1 + CSS 2.1 only.
        XhtmlParagraph xhtml = new XhtmlParagraph();
        xhtml.Text = "<html><body><h1>Hello World</h1><p>This is a PDF from XHTML.</p></body></html>";
        section.Paragraphs.Add(xhtml);

        using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
        {
            document.Write(fs);
        }
    }
}

Approche IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Create a PDF fromHTMLstring
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";
        
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
C#

Le ChromePdfRenderer de IronPDF utilise un véritable moteur Chromium, offrant un support complet pour HTML5 et CSS3. Cela signifie que vos PDF s'affichent exactement comme ils le feraient dans un navigateur moderne. Pour en savoir plus, consultez le tutoriel HTML to PDF tutorial.

Fusionner plusieurs fichiers PDF

La fusion de PDF démontre la différence de verbosité entre TallComponentset IronPDF.

Approche de TallComponents:

// NuGet: Install-Package TallComponents.PDFKit5
using TallComponents.PDF;
using System.IO;

class Program
{
    static void Main()
    {
        // Create target document
        Document outputDoc = new Document();

        // Load first PDF and clone each page into the target
        using (FileStream fs1 = new FileStream("document1.pdf", FileMode.Open, FileAccess.Read))
        {
            Document doc1 = new Document(fs1);
            foreach (Page page in doc1.Pages)
            {
                outputDoc.Pages.Add(page.Clone()); // clone is required across documents
            }
        }

        // Load second PDF and append the whole page collection
        using (FileStream fs2 = new FileStream("document2.pdf", FileMode.Open, FileAccess.Read))
        {
            Document doc2 = new Document(fs2);
            outputDoc.Pages.AddRange(doc2.Pages.CloneToArray());
        }

        // Save merged document
        using (FileStream output = new FileStream("merged.pdf", FileMode.Create))
        {
            outputDoc.Write(output);
        }
    }
}

Approche IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Load PDFs
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");
        
        // Merge PDFs
        var merged = PdfDocument.Merge(pdf1, pdf2);
        
        // Save merged document
        merged.SaveAs("merged.pdf");
    }
}

La version TallComponentsnécessite une itération et un clonage manuels des pages.IronPDF réduit cela à un simple appel PdfDocument.Merge(). Pour les scénarios de fusion avancés, voir la documentation sur la fusion de fichiers PDF.

Ajouter des filigranes

Le filigrane des PDF révèle une autre différence significative dans l'expérience des développeurs.

Approche de TallComponents:

// NuGet: Install-Package TallComponents.PDFKit5
using TallComponents.PDF;
using TallComponents.PDF.Shapes;
using System.IO;
using System.Drawing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        using (FileStream fs = new FileStream("input.pdf", FileMode.Open, FileAccess.Read))
        {
            Document document = new Document(fs);

            foreach (Page page in document.Pages)
            {
                TextShape watermark = new TextShape();
                watermark.Text = "CONFIDENTIAL";
                watermark.Font = new Font("Arial", 60);
                watermark.Pen = new Pen(Color.FromArgb(128, 255, 0, 0));
                watermark.X = 200;
                watermark.Y = 400;
                // Rotation is applied via a transform on PDFKit.NET
                // (TextShape has no Rotate property in the PDFKit API).
                watermark.Transform = new RotateTransform(45);

                page.Overlay.Add(watermark);
            }

            using (FileStream output = new FileStream("watermarked.pdf", FileMode.Create))
            {
                document.Write(output);
            }
        }
    }
}

Approche IronPDF:

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

class Program
{
    static void Main()
    {
        // Load existing PDF
        var pdf = PdfDocument.FromFile("input.pdf");
        
        // Create watermark
        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 60,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };
        
        // Apply watermark to all pages
        pdf.ApplyStamp(watermark);
        
        // Save watermarked PDF
        pdf.SaveAs("watermarked.pdf");
    }
}

La classe TextStamper de IronPDF offre des options d'alignement intuitives et une itération automatique des pages. Le guide de l'estampillage et des filigranes couvre des options de personnalisation supplémentaires.

Signatures numériques

La signature des documents est essentielle pour les applications d'entreprise.

Approche de TallComponents:

using TallComponents.PDF;
using TallComponents.PDF.Signing;
using System.IO;
using System.Security.Cryptography.X509Certificates;

using (FileStream fs = new FileStream("unsigned.pdf", FileMode.Open, FileAccess.Read))
{
    Document document = new Document(fs);

    X509Certificate2 cert = new X509Certificate2("certificate.pfx", "password");
    SignatureField field = new SignatureField("Signature1");
    field.Sign(cert);
    document.Fields.Add(field);

    using (FileStream output = new FileStream("signed.pdf", FileMode.Create))
    {
        document.Write(output);
    }
}

Approche IronPDF:

using IronPdf;
using IronPdf.Signing;

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

// Sign with certificate
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningLocation = "New York",
    SigningReason = "Document Approval"
};

pdf.Sign(signature);
pdf.SaveAs("signed.pdf");

L'API de signature d'IronPDF comprend des propriétés de métadonnées supplémentaires pour les informations de contact, l'emplacement et la raison de la signature - important pour les pistes d'audit. Explorez la documentation sur la signature numérique pour obtenir des détails complets sur la mise en œuvre.

Comparaison des fonctionnalités : TallComponentsvs IronPDF

FonctionTallComponentsIronPDF
StatutFermé aux nouvelles licences (Apryse acquis 2025-05-27)Actif
SupportClients existants uniquementComplet
Mises à jourMaintenance uniquementMises à jour de fonctionnalités régulières
Création de contenu
HTMLvers PDFXHTML 1.0/1.1 + CSS 2.1 (XhtmlParagraph)Plein HTML5/CSS3 via Chromium
URL vers PDFOui pour les URL XHTML (XhtmlParagraph.Path)Oui
Support CSSCSS 2.1CSS3 complet
JavaScriptNonES2024 complet
Modèles DOM XML/mise en pageOui (TallPDF.NET)Non nécessaire (HTML)
Opérations PDF
Fusionner des PDFOui (Pages.Add(page.Clone()))Oui (PdfDocument.Merge)
Diviser les PDFOuiOui
Filigranespage.Overlay.Add(TextShape)pdf.ApplyStamp(...)
En-têtes/Pieds de pageDOM de mise en pageHTML/CSS
Sécurité
Protection par mot de passeOui (PasswordSecurity)Oui
Signatures numériquesOui (SignatureField.Sign)Oui
ChiffrementRC4 / AES-128 / AES-256AES-128 / AES-256
PDF/APDF/A-1, PDF/A-2, PDF/A-3Oui
Plateforme
Cibles FrameworksPDFKit5: .NET Standard 2.0; PDFKit (4.x): .NET Framework 2.0.NET Framework 4.6.2+, .NET 6/7/8/9
Développement
Courbe d'apprentissageXML / DOM de mise en pageHTML
DocumentationGelé à l'acquisition; nouveaux documents redirigés vers Apryse / iTextMaintenu
CommunautéCalme (pas de nouvelles ventes)Actif

Liste de contrôle pour la migration vers TallComponents

Tâches préalables à la migration

Auditez votre base de code pour identifier toutes les utilisations de TallComponents:

grep -r "using TallComponents" --include="*.cs" .
grep -rE "XhtmlParagraph|TextParagraph|PasswordSecurity|page\.Overlay" --include="*.cs" .
SHELL

Documenter les modèles XML/de mise en page existants—ceux-ci seront convertis en HTML. Identifier les paramètres de sécurité actuellement utilisés, en notant les configurations de mots de passe et les implémentations de signatures numériques.

Tâches de mise à jour du code

  1. Supprimer les paquets TallComponentsvia NuGet
  2. Installer le package IronPDF
  3. Convertir les modèles XHTML / DOM de mise en page en HTML5
  4. Remplacer le modèle Section/Paragraphe par des éléments HTML
  5. Mise à jour du code des tableaux pour utiliser les tableauxHTMLstandard
  6. Convertissez les en-têtes/pieds de page enHTMLavec HtmlHeaderFooter
  7. Mettez à jour les paramètres de sécurité pour utiliser pdf.SecuritySettings
  8. Ajouter l'initialisation de la licence au démarrage

Migration des en-têtes et des pieds de page

TallPDF.NET utilise un DOM de mise en page (Section.Header / Section.Footer) pour les en-têtes de page.IronPDF fournit des en-têtes basés surHTMLavec des espaces réservés dynamiques :

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Header Text</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Footer Text</div>",
    MaxHeight = 25
};

En savoir plus sur les en-têtes et pieds de page dans IronPDF.

Phase de test

  1. Comparer la sortie visuelle entre les versions de TallComponentset d'IronPDF
  2. Tester tous les modèles de documents
  3. Valider la fonctionnalité de fusion des PDF
  4. Tester les signatures numériques
  5. Confirmer que les paramètres de sécurité s'appliquent correctement

Temps de migration recommandé

Comme TallComponentsest fermé aux nouvelles licences et ne supporte que la maintenance, planifiez le déménagement à votre propre rythme mais ne tardez pas :

Semaine 1 : Auditer le code source et identifier toutes les utilisations de TallComponents Semaine 2 : Convertir les modèles XHTML / de mise en page en HTML5 Semaine 3 : Mise à jour du code de sécurité, de fusion et de signature
Semaine 4 : Tests et déploiement en production

Plus une pile reste sur TallComponents, plus elle s'éloigne des cibles actuelles de .NET et duHTMLactuel.

Veuillez noter: Apryse, PDFKit, Tall Components, et iText sont des marques déposées de leurs propriétaires respectifs. Ce site n'est ni affilié à, ni approuvé par, ni sponsorisé par Apryse, PDFKit, PDFTron, TallComponentsou iText Group. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.
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 et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise