IRONSOFTWAREHOME
VIDÉOS

Comment accéder à tous les objets du DOM PDF avec IronPDF en C# | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 juillet 2026

Telerik Document Processing est livré dans le cadre des suites Telerik UI et des bundles DevCraft, offrant aux développeurs des capacités de génération de PDF en plus du traitement Word, Excel et PowerPoint. Cependant, à mesure que les normes Web modernes évoluent et que les projets nécessitent une prise en charge complète de CSS3, Flexbox et Bootstrap, les équipes de développement ont exprimé des inquiétudes quant aux limitations de l'architecture de rendu HTML en PDF de Telerik.

Ce guide propose un parcours de migration complet de Traitement des documents Telerikvers IronPDF, avec des instructions pas à pas, des comparaisons de code et des exemples pratiques tirés directement de scénarios de migration réels.

Pourquoi migrer de Telerik Document Processing

La décision de migrer de Traitement des documents Telerikdécoule généralement de limitations techniques qui deviennent apparentes lorsque l'on travaille avec du contenu web moderne. Comprendre ces limites permet de justifier l'effort de migration et de définir les attentes quant à ce qu'IronPDF résout.

Limitations Techniques Rapportées

Les développeurs ont signalé des problèmes avec Traitement des documents Teleriklors du traitement du HTML et du CSS modernes :

ProblèmeImpactSolution IronPDF
Limitations de l'analyse CSSLes cadres CSS modernes tels que Bootstrap échouentPrise en charge complète de Chromium CSS
Conversion de div en paragrapheLa structure HTML est aplatie, les mises en page sont casséesRendu HTML direct
Modèle de document de fluxForce la conversion intermédiaireHTML natif vers PDF
Questions CSS externesSélecteurs complexes ignorésPrise en charge complète des fichiers CSS
Questions de mémoireOutOfMemoryException signalé sur des fichiers volumineuxStreaming efficace

Le problème principal : le HTML n'est pas rendu correctement

Telerik Document Processing convertit HTML en un modèle intermédiaire de "Flow Document" avant de générer un PDF. Cette décision architecturale crée des problèmes en cascade :

  1. Aplatit la structure HTML — les éléments <div> deviennent des paragraphes
  2. Ignores modern CSS - Flexbox et Grid layouts échouent complètement
  3. Breaks Bootstrap - Les systèmes de colonnes ne s'affichent pas comme des colonnes
  4. Perte de formatage - Les sélecteurs CSS complexes sont ignorés

Considérez ce HTML moderne qui utilise des mises en page CSS standard :

<!-- This modern HTML/CSS BREAKS in Traitement des documents Telerik-->
<div class="container">
    <div class="row">
        <div class="col-md-6">Column 1</div>
        <div class="col-md-6">Column 2</div>
    </div>
</div>

<div style="display: flex; gap: 20px;">
    <div style="flex: 1;">Flex Item 1</div>
    <div style="flex: 1;">Flex Item 2</div>
</div>

<div style="display: grid; grid-template-columns: repeat(3, 1fr);">
    <div>Grid Item 1</div>
    <div>Grid Item 2</div>
    <div>Grid Item 3</div>
</div>
HTML

Dans Telerik Document Processing, toutes ces mises en page sont rendues sous forme de paragraphes séquentiels. La mise en page Bootstrap à deux colonnes devient deux lignes de texte. Les éléments flexbox s'empilent verticalement. Les éléments de la grille CSS apparaissent les uns après les autres.

Fonctionnalités CSS qui échouent dans le traitement des documents Telerik

Les développeurs ont documenté de nombreux problèmes de compatibilité CSS :

/* ❌ These CSS features DON'T WORK in Traitement des documents Telerik*/

/* Flexbox - Non pris en charge */
.container { display: flex; }
.item { flex: 1; }

/* CSS Grid - Non pris en charge */
.grid { display: grid; grid-template-columns: repeat(3, 1fr); }

/* Bootstrap columns - Converted to paragraphs */
.col-md-6 { /* Ignored, becomes linear text */ }

/* CSS Variables - Non pris en charge */
:root { --primary: #007bff; }
.btn { color: var(--primary); }

/* Complex selectors - Often ignored */
.container > .row:first-child { }
.item:hover { }
.content::before { }

/* Modern units - Limited support */
.box { width: calc(100% - 20px); }
.text { font-size: 1.2rem; }
Text

Rapports de Performance pour les Documents Volumineux

Au-delà des limitations CSS, les développeurs ont signalé des erreurs OutOfMemoryException lors du traitement de fichiers volumineux avec Telerik Document Processing, ainsi que des espaces de couleur non pris en charge et des plantages lors de la fusion de PDF dans certains scénarios. Les équipes travaillant avec la génération de documents à forte volumétrie ont noté des préoccupations de stabilité qui méritent d'être évaluées avant de s'engager à un usage à long terme.

##IronPDF vs Traitement des documents Telerik: Comparaison des fonctionnalités

La compréhension des différences de fonctionnalités aide les décideurs techniques à évaluer l'investissement dans la migration :

FonctionTraitement des documents TelerikIronPDF
Rendu HTMLConversion d'un document FlowRendu direct de Chromium
Support CSS3Limité, de nombreuses fonctionnalités échouentCSS3 complet
FlexboxNon pris en chargePrise en charge
CSS GridNon pris en chargePrise en charge
BootstrapBroken (aplatissement de div)Compatible avec Bootstrap 5
CSS externePartielPrise en charge
JavaScriptNon pris en chargePrise en charge complète
Grands documentsProblèmes de mémoire signalésStreaming efficace
Complexité de l'APIComplexe (fournisseurs, modèles)Simple (une classe)
Modèle de licenceCommercial, partie de DevCraftLicence autonome simple

Migration rapide : 5 minutes pour votre premier PDF

La migration de Traitement des documents Telerikvers IronPDF peut commencer immédiatement. Voici le chemin le plus rapide pour générer votre premier PDF avec IronPDF.

Étape 1 : Mise à jour des paquets NuGet

Supprimez tous les paquets de traitement de documents Telerik :

# Remove Telerik packages
dotnet remove package Telerik.Documents.Core
dotnet remove package Telerik.Documents.Flow
dotnet remove package Telerik.Documents.Flow.FormatProviders.Pdf
dotnet remove package Telerik.Documents.Fixed
SHELL

Installez IronPDF:

# Install IronPDF
dotnet add package IronPdf
SHELL

Étape 2 : Mise à jour des déclarations d'utilisation

Remplacer les espaces de noms Telerik par l'espace de nom IronPDF :

// Before (Telerik Document Processing)
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Documents.Primitives;

// After (IronPDF)
using IronPdf;

Étape 3 : ajouter la clé de licence

Initialiser votre licence au démarrage de l'application :

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

Étape 4 : mettre à jour votre code de génération de PDF

La transformation de Traitement des documents Teleriken IronPDF simplifie considérablement votre base de code.

Avant (Telerik Document Processing):

using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(htmlContent);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
byte[] pdfBytes = pdfProvider.Export(document);

File.WriteAllBytes("output.pdf", pdfBytes);

Après (IronPDF):

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");

La différence est immédiatement visible : 3 lignes de code IronPDF remplacent 15+ lignes de code Telerik Document Processing. Plus important encore, la version IronPDF rendra correctement les feuilles de style CSS modernes que le modèle de document Flow de Telerik ne peut pas gérer.

Exemples de migration de code

Conversion de HTML en PDF

Il s'agit du cas d'utilisation le plus courant pour la génération de PDF. Les différences architecturales entre Traitement des documents Teleriket IronPDF apparaissent clairement dans cette comparaison.

Approche de traitement des documents de Telerik:

// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;

string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("output.pdf"))
{
    pdfProvider.Export(document, output);
}

Approche IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;

string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");

La version Telerik nécessite la création d'un HtmlFormatProvider, l'importation dans un RadFlowDocument, la création d'un PdfFormatProvider, et la gestion manuelle des flux de fichiers. Le ChromePdfRenderer d'IronPDF gère l'ensemble du processus avec un seul appel de méthode.

Pour des scénarios plus avancés de conversion de HTML en PDF, consultez le guide de conversion de HTML en PDF.

Conversion des URL en PDF

La capture de pages web au format PDF révèle une autre différence significative entre les bibliothèques.

Approche de traitement des documents de Telerik:

// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;

string url = "https://example.com";

using HttpClient client = new HttpClient();
string html = await client.GetStringAsync(url);

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("webpage.pdf"))
{
    pdfProvider.Export(document, output);
}

Approche IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;

string url = "https://example.com";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");

Telerik Document Processing n'a pas de capacité native de conversion d'URL en PDF. Vous devez récupérer manuellement le contenu HTML en utilisant HttpClient, perdant ainsi le CSS externe, l'exécution JavaScript et le contenu dynamique au passage. La méthode RenderUrlAsPdf d'IronPDF capture la page rendue complète exactement comme elle apparaît dans un navigateur.

Explorez la URL vers la documentation PDF pour des options supplémentaires, notamment l'authentification et les en-têtes personnalisés.

Fusionner plusieurs fichiers PDF

La fusion de PDF démontre la différence de verbosité entre ces bibliothèques PDF .NET.

Approche de traitement des documents de Telerik:

// NuGet: Install-Package Telerik.Documents.Fixed
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using System.IO;

PdfFormatProvider provider = new PdfFormatProvider();

RadFixedDocument document1;
using (FileStream input = File.OpenRead("document1.pdf"))
{
    document1 = provider.Import(input);
}

RadFixedDocument document2;
using (FileStream input = File.OpenRead("document2.pdf"))
{
    document2 = provider.Import(input);
}

RadFixedDocument mergedDocument = new RadFixedDocument();
foreach (var page in document1.Pages)
{
    mergedDocument.Pages.Add(page);
}
foreach (var page in document2.Pages)
{
    mergedDocument.Pages.Add(page);
}

using (FileStream output = File.OpenWrite("merged.pdf"))
{
    provider.Export(mergedDocument, output);
}

Approche IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");

var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");

La version Telerik nécessite d'importer chaque document séparément, de parcourir manuellement les pages, de les ajouter à un nouveau document et de gérer plusieurs flux de fichiers. La méthode PdfDocument.Merge() d'IronPDF gère tout en un seul appel.

Pour des scénarios de fusion avancés, notamment l'extraction sélective de pages, voir le guide de fusion et de division de PDF.

Traitement des documents TelerikAPI to IronPDF Mapping (en anglais)

Cette table de référence accélère la migration en indiquant les équivalents directs des API :

Traitement des documents TelerikIronPDF
HtmlFormatProviderChromePdfRenderer
RadFlowDocumentPas nécessaire
PdfFormatProviderpdf.SaveAs()
RadFlowDocumentEditorManipulation HTML
SectionHTML <section>
ParagraphHTML <p>
PdfExportSettingsRenderingOptions
RadFixedDocumentPdfDocument
Itération manuelle des pagesPdfDocument.Merge()

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

Telerik Document Processing utilise un modèle programmatique pour les en-têtes et les pieds de page.IronPDF fournit des en-têtes basés sur HTML avec des espaces réservés dynamiques.

Traitement de documents Telerik :

section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text");
section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");

IronPDF :

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
};

L'approche HTML d'IronPDF permet un style CSS complet dans les en-têtes et les pieds de page, ainsi que des espaces réservés dynamiques pour les numéros de page et les dates. Pour en savoir plus, consultez la documentation sur les en-têtes et les pieds de page.

Conversion d'unités : DIPs en Millimètres

Telerik Document Processing utilise des pixels indépendants du périphérique (DIP) pour les mesures.IronPDF utilise des millimètres. Cela nécessite une conversion lors de la migration :

// Telerik uses DIPs (device-independent pixels)
//IronPDF uses millimeters

// 1 inch = 25.4mm
renderer.RenderingOptions.MarginTop = 25.4;    // 1 inch
renderer.RenderingOptions.MarginBottom = 25.4;

// Or use the helper method for paper size
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);

Traitement des documents TelerikChecklist pour la migration

Tâches préalables à la migration

Auditez votre base de code pour identifier toutes les utilisations de Traitement des documents Telerik:

grep -r "using Telerik.Windows.Documents" --include="*.cs" .
grep -r "RadFlowDocument\|HtmlFormatProvider\|PdfFormatProvider" --include="*.cs" .
SHELL

Documenter les implémentations existantes, y compris les fournisseurs de format utilisés, les configurations d'en-tête/pied de page, les paramètres de page personnalisés et toute modification du modèle Flow Document.

Pendant la migration

  1. Supprimer les paquets NuGet de Telerik
  2. Installez le package NuGet IronPDF
  3. Mettez à jour les instructions d'utilisation de Telerik.Windows.Documents à IronPdf
  4. Ajouter l'initialisation de la clé de licence au démarrage
  5. Remplacez HtmlFormatProvider par ChromePdfRenderer
  6. Supprimez les étapes intermédiaires RadFlowDocument
  7. Remplacez les exportations PdfFormatProvider par des appels directs SaveAs()
  8. Mettez à jour les en-têtes/pieds de page pour utiliser HtmlHeaderFooter
  9. Convertissez les paramètres de page en RenderingOptions
  10. Mise à jour des unités de marge de DIPs à millimètres

Vérification post-migration

Après la migration, vérifiez ces améliorations :

  • Le rendu CSS doit être amélioré de manière significative
  • Les mises en page Bootstrap doivent s'afficher correctement (ce qui n'est pas le cas avec Telerik)
  • Les mises en page Flexbox et Grid doivent fonctionner (elles ne fonctionnent pas dans Telerik)
  • L'exécution de JavaScript doit fonctionner pour le contenu dynamique
  • La génération de documents volumineux doit s'effectuer sans exception de mémoire

Avantages clés de la migration vers IronPDF

Le passage de Traitement des documents Telerikà IronPDF présente des avantages immédiats :

**Moteur de rendu Chromium moderne :**IronPDF utilise le même moteur de rendu que Google Chrome, garantissant ainsi que les PDF s'affichent exactement comme leur contenu apparaît dans les navigateurs modernes. Cela permet d'éliminer les problèmes de compatibilité CSS inhérents au modèle de document de flux de Telerik.

Support complet de CSS3 et JavaScript : Flexbox, Grid, Bootstrap 5, variables CSS et JavaScript moderne fonctionnent tous correctement, garantissant la compatibilité avec les normes Web contemporaines.

API simplifiée : moins de lignes de code, pas de modèles de documents intermédiaires et des noms de méthodes intuitifs réduisent le temps de développement et la charge de maintenance.

**Licence autonome :**IronPDF propose une licence simple sans nécessiter l'achat d'une Suite complète, offrant ainsi une solution économique pour les équipes qui n'ont besoin que des fonctionnalités PDF.

Développement actif : des mises à jour régulières garantissent la compatibilité avec les versions actuelles et futures de .NET , les correctifs de sécurité et les améliorations fonctionnelles.

Veuillez noter: Telerik est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, approuvé par, ou sponsorisé par Progress Software. 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