Comment migrer de Telerik Reporting à IronPDF en C#
Telerik Reporting est une puissante plateforme de reporting d'entreprise qui a bien servi les développeurs .NET pour la création de rapports interactifs avec des concepteurs visuels et des capacités d'exploration. Cependant, pour les équipes dont le besoin principal est la génération de PDF plutôt qu'une infrastructure de reporting complète, Rapports Telerikreprésente souvent des frais généraux importants en termes de coûts de licence, de complexité de déploiement et d'empreinte d'exécution.
Ce guide fournit un chemin de migration complet de Rapports Telerikvers IronPDF, avec des instructions étape par étape, des comparaisons de code et des exemples pratiques pour les développeurs .NET professionnels qui évaluent cette transition.
Pourquoi migrer de Telerik Reporting
La décision de migrer de Rapports Telerikest généralement centrée sur l'adaptation de votre outil à vos besoins réels. Les principales raisons pour lesquelles les équipes de développement envisagent la migration sont les suivantes
Licences groupées coûteuses : Rapports Teleriknécessite soit le pack DevCraft (plus de 1 000 $ par développeur), soit une licence autonome. Pour les équipes qui n'ont besoin que de générer des PDF, il s'agit là d'une importante capacité inutilisée.
Dépendance de Report Designer : Rapports Teleriknécessite l'installation des extensions et des composants d'exécution Visual Studio. Ces outils ajoutent de la complexité aux environnements de développement et aux pipelines CI/CD.
Infrastructure complexe : les déploiements en production peuvent nécessiter l'hébergement du service de rapports, des chaînes de connexion et la configuration de la source de données – une infrastructure qui alourdit la maintenance des tâches de génération de PDF les plus simples.
Format propriétaire : Les formats de fichiers .trdp et .trdx vous enferment dans l'écosystème Telerik. La migration ou la modification des modèles nécessite l'utilisation de l'outil Telerik.
Temps d'exécution important : L'empreinte de déploiement est considérable pour ce qui peut être de simples exigences de conversion HTML vers PDF.
Abonnement annuel : Les coûts récurrents liés aux mises à jour et au support s'ajoutent au coût total de possession.
Quand Rapports Telerikest dépassé
Si vous utilisez Rapports Telerikprincipalement pour générer des PDF à partir de données, vous payez probablement pour des fonctionnalités qui ne sont pas utilisées :
| Vous avez besoin de | Telerik Provides (non utilisé) |
|---|---|
| PDF à partir de HTML | Concepteur visuel, forage |
| Rapports simples | Visionneuse interactive, exportations |
| PDF côté serveur | Contrôles de bureau, moteur graphique |
IronPDF permet de générer des PDF de manière ciblée, sans les frais généraux liés à la production de rapports d'entreprise.
IronPDF vs Rapports Telerik: Comparaison des fonctionnalités
La compréhension des différences architecturales aide les décideurs techniques à évaluer l'investissement dans la migration :
| Fonction | Rapports Telerik | IronPDF |
|---|---|---|
| Focus | Création de rapports avec option d'exportation au format PDF | Génération complète de PDF à partir de HTML |
| Intégration | Transparence avec les applications ASP.NET Core | Peut être intégré dans n'importe quelle application .NET |
| Complexité de l'installation | Nécessite l'installation d'un concepteur de rapports | Installation simple de NuGet |
| Tarification | Fait partie de la suite commerciale DevCraft | Licence distincte, plus rentable pour la génération autonome de PDF |
| Génération de PDF | Limité aux exportations de rapports | Fonctionnalités complètes avec manipulation avancée des PDF |
| Public cible | Développeurs ayant besoin de solutions centrées sur les rapports | Développeurs ayant besoin de solutions flexibles de génération de PDF |
| Format du modèle | .trdp / .trdx |
HTML/CSS/Razor |
| Courbe d'apprentissage | Spécifique à Telerik | Technologies web standard |
| HTML à PDF | Limité | Rendu complet de Chromium |
| URL vers PDF | Non | Oui |
| Support CSS | Limité | CSS3 complet |
| JavaScript | Non | ES2024 complet |
| Signatures numériques | Non | Oui |
| PDF/A | Non | Oui |
| Taille du runtime | Grandes | Plus petit |
Démarrage rapide : Migration de Rapports Telerikvers IronPDF
La migration peut commencer immédiatement grâce à ces étapes fondamentales.
Étape 1 : Remplacer les paquets NuGet
Supprimez tous les paquets Rapports Telerik:
# Remove Rapports Telerikpackages
dotnet remove package Telerik.Reporting
dotnet remove package Telerik.Reporting.Services.AspNetCore
dotnet remove package Telerik.ReportViewer.Mvc
# Remove Rapports Telerikpackages
dotnet remove package Telerik.Reporting
dotnet remove package Telerik.Reporting.Services.AspNetCore
dotnet remove package Telerik.ReportViewer.Mvc
InstallezIronPDF:
# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
Étape 2 : Mise à jour des espaces de noms
Remplacer les espaces de noms Telerik par l'espace de nomsIronPDF:
// Before (Telerik Reporting)
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;
// After (IronPDF)
using IronPdf;
// Before (Telerik Reporting)
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;
// After (IronPDF)
using IronPdf;
Imports Telerik.Reporting
Imports Telerik.Reporting.Processing
Imports Telerik.Reporting.Drawing
' After (IronPDF)
Imports IronPdf
Étape 3 : initialisation de la licence
Ajouter l'initialisation de la licence au démarrage de l'application :
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Exemples de migration de code
Conversion de HTML en PDF
Le cas d'utilisation le plus courant démontre la différence architecturale entre ces bibliothèques PDF .NET.
Approche de reporting de Telerik :
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using System.Collections.Specialized;
class TelerikExample
{
static void Main()
{
var reportSource = new Telerik.Reporting.TypeReportSource();
var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = new Telerik.Reporting.Report()
{
Items = { new Telerik.Reporting.HtmlTextBox() { Value = "<h1>Hello World</h1><p>Sample HTML content</p>" } }
};
var reportProcessor = new ReportProcessor();
var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);
using (var fs = new System.IO.FileStream("output.pdf", System.IO.FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
}
}
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using System.Collections.Specialized;
class TelerikExample
{
static void Main()
{
var reportSource = new Telerik.Reporting.TypeReportSource();
var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = new Telerik.Reporting.Report()
{
Items = { new Telerik.Reporting.HtmlTextBox() { Value = "<h1>Hello World</h1><p>Sample HTML content</p>" } }
};
var reportProcessor = new ReportProcessor();
var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);
using (var fs = new System.IO.FileStream("output.pdf", System.IO.FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
}
}
Imports Telerik.Reporting
Imports Telerik.Reporting.Processing
Imports System.Collections.Specialized
Imports System.IO
Class TelerikExample
Shared Sub Main()
Dim reportSource As New Telerik.Reporting.TypeReportSource()
Dim instanceReportSource As New Telerik.Reporting.InstanceReportSource()
instanceReportSource.ReportDocument = New Telerik.Reporting.Report() With {
.Items = {New Telerik.Reporting.HtmlTextBox() With {.Value = "<h1>Hello World</h1><p>Sample HTML content</p>"}}
}
Dim reportProcessor As New ReportProcessor()
Dim result = reportProcessor.RenderReport("PDF", instanceReportSource, Nothing)
Using fs As New FileStream("output.pdf", FileMode.Create)
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length)
End Using
End Sub
End Class
Approche IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class IronPdfExample
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>Sample HTML content</p>");
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class IronPdfExample
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>Sample HTML content</p>");
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System
Class IronPdfExample
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>Sample HTML content</p>")
pdf.SaveAs("output.pdf")
End Sub
End Class
La version Telerik nécessite la création d'un objet TypeReportSource, d'un objet InstanceReportSource, d'un objet Report avec un objet HtmlTextBox, d'un objet ReportProcessor et d'une gestion manuelle des flux de fichiers. IronPDF's ChromePdfRenderer gère l'ensemble du processus avec trois lignes de code.
Pour les scénarios avancés de conversion de HTML en PDF, voir le guide de conversion de HTML en PDF.
Conversion des URL en PDF
La conversion d'URL en PDF révèle une lacune importante dans les capacités de Telerik Reporting.
Approche de reporting de Telerik :
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using System.Net;
class TelerikExample
{
static void Main()
{
string htmlContent;
using (var client = new WebClient())
{
htmlContent = client.DownloadString("https://example.com");
}
var report = new Telerik.Reporting.Report();
var htmlTextBox = new Telerik.Reporting.HtmlTextBox()
{
Value = htmlContent
};
report.Items.Add(htmlTextBox);
var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = report;
var reportProcessor = new ReportProcessor();
var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);
using (var fs = new System.IO.FileStream("webpage.pdf", System.IO.FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
}
}
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using System.Net;
class TelerikExample
{
static void Main()
{
string htmlContent;
using (var client = new WebClient())
{
htmlContent = client.DownloadString("https://example.com");
}
var report = new Telerik.Reporting.Report();
var htmlTextBox = new Telerik.Reporting.HtmlTextBox()
{
Value = htmlContent
};
report.Items.Add(htmlTextBox);
var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = report;
var reportProcessor = new ReportProcessor();
var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);
using (var fs = new System.IO.FileStream("webpage.pdf", System.IO.FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
}
}
Imports Telerik.Reporting
Imports Telerik.Reporting.Processing
Imports System.Net
Imports System.IO
Class TelerikExample
Shared Sub Main()
Dim htmlContent As String
Using client As New WebClient()
htmlContent = client.DownloadString("https://example.com")
End Using
Dim report As New Telerik.Reporting.Report()
Dim htmlTextBox As New Telerik.Reporting.HtmlTextBox() With {
.Value = htmlContent
}
report.Items.Add(htmlTextBox)
Dim instanceReportSource As New Telerik.Reporting.InstanceReportSource()
instanceReportSource.ReportDocument = report
Dim reportProcessor As New ReportProcessor()
Dim result = reportProcessor.RenderReport("PDF", instanceReportSource, Nothing)
Using fs As New FileStream("webpage.pdf", FileMode.Create)
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length)
End Using
End Sub
End Class
Approche IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class IronPdfExample
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("webpage.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class IronPdfExample
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("webpage.pdf");
}
}
Imports IronPdf
Imports System
Class IronPdfExample
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End Class
Telerik Reporting n'a pas de capacité native de conversion d'URL en PDF. Vous devez récupérer manuellement le contenu HTML en utilisant WebClient, perdant ainsi le CSS externe, l'exécution JavaScript et le contenu dynamique. La méthode RenderUrlAsPdf d'IronPDF capture la page rendue complète exactement telle qu'elle apparaît dans un navigateur.
Explorez la URL vers la documentation PDF pour l'authentification et les options d'en-tête personnalisées.
Implémentation d'en-têtes et de pieds de page avec des numéros de page
Des en-têtes et des pieds de page avec des numéros de page dynamiques sont essentiels pour les documents professionnels. Les approches de mise en œuvre diffèrent considérablement.
Approche de reporting de Telerik :
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;
class TelerikExample
{
static void Main()
{
var report = new Telerik.Reporting.Report();
// Add page header
var pageHeader = new Telerik.Reporting.PageHeaderSection();
pageHeader.Height = new Unit(0.5, UnitType.Inch);
pageHeader.Items.Add(new Telerik.Reporting.TextBox()
{
Value = "Document Header",
Location = new PointU(0, 0),
Size = new SizeU(new Unit(6, UnitType.Inch), new Unit(0.3, UnitType.Inch))
});
report.PageHeaderSection = pageHeader;
// Add page footer
var pageFooter = new Telerik.Reporting.PageFooterSection();
pageFooter.Height = new Unit(0.5, UnitType.Inch);
pageFooter.Items.Add(new Telerik.Reporting.TextBox()
{
Value = "Page {PageNumber} of {PageCount}",
Location = new PointU(0, 0),
Size = new SizeU(new Unit(6, UnitType.Inch), new Unit(0.3, UnitType.Inch))
});
report.PageFooterSection = pageFooter;
// Add content
var htmlTextBox = new Telerik.Reporting.HtmlTextBox()
{
Value = "<h1>Report Content</h1><p>This is the main content.</p>"
};
report.Items.Add(htmlTextBox);
var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = report;
var reportProcessor = new ReportProcessor();
var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);
using (var fs = new System.IO.FileStream("report_with_headers.pdf", System.IO.FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
}
}
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;
class TelerikExample
{
static void Main()
{
var report = new Telerik.Reporting.Report();
// Add page header
var pageHeader = new Telerik.Reporting.PageHeaderSection();
pageHeader.Height = new Unit(0.5, UnitType.Inch);
pageHeader.Items.Add(new Telerik.Reporting.TextBox()
{
Value = "Document Header",
Location = new PointU(0, 0),
Size = new SizeU(new Unit(6, UnitType.Inch), new Unit(0.3, UnitType.Inch))
});
report.PageHeaderSection = pageHeader;
// Add page footer
var pageFooter = new Telerik.Reporting.PageFooterSection();
pageFooter.Height = new Unit(0.5, UnitType.Inch);
pageFooter.Items.Add(new Telerik.Reporting.TextBox()
{
Value = "Page {PageNumber} of {PageCount}",
Location = new PointU(0, 0),
Size = new SizeU(new Unit(6, UnitType.Inch), new Unit(0.3, UnitType.Inch))
});
report.PageFooterSection = pageFooter;
// Add content
var htmlTextBox = new Telerik.Reporting.HtmlTextBox()
{
Value = "<h1>Report Content</h1><p>This is the main content.</p>"
};
report.Items.Add(htmlTextBox);
var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = report;
var reportProcessor = new ReportProcessor();
var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);
using (var fs = new System.IO.FileStream("report_with_headers.pdf", System.IO.FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
}
}
Imports Telerik.Reporting
Imports Telerik.Reporting.Processing
Imports Telerik.Reporting.Drawing
Imports System.IO
Class TelerikExample
Shared Sub Main()
Dim report As New Telerik.Reporting.Report()
' Add page header
Dim pageHeader As New Telerik.Reporting.PageHeaderSection()
pageHeader.Height = New Unit(0.5, UnitType.Inch)
pageHeader.Items.Add(New Telerik.Reporting.TextBox() With {
.Value = "Document Header",
.Location = New PointU(0, 0),
.Size = New SizeU(New Unit(6, UnitType.Inch), New Unit(0.3, UnitType.Inch))
})
report.PageHeaderSection = pageHeader
' Add page footer
Dim pageFooter As New Telerik.Reporting.PageFooterSection()
pageFooter.Height = New Unit(0.5, UnitType.Inch)
pageFooter.Items.Add(New Telerik.Reporting.TextBox() With {
.Value = "Page {PageNumber} of {PageCount}",
.Location = New PointU(0, 0),
.Size = New SizeU(New Unit(6, UnitType.Inch), New Unit(0.3, UnitType.Inch))
})
report.PageFooterSection = pageFooter
' Add content
Dim htmlTextBox As New Telerik.Reporting.HtmlTextBox() With {
.Value = "<h1>Report Content</h1><p>This is the main content.</p>"
}
report.Items.Add(htmlTextBox)
Dim instanceReportSource As New Telerik.Reporting.InstanceReportSource()
instanceReportSource.ReportDocument = report
Dim reportProcessor As New ReportProcessor()
Dim result = reportProcessor.RenderReport("PDF", instanceReportSource, Nothing)
Using fs As New FileStream("report_with_headers.pdf", FileMode.Create)
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length)
End Using
End Sub
End Class
Approche IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class IronPdfExample
{
static void Main()
{
var renderer = new ChromePdfRenderer();
// Configure header and footer
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Document Header</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>This is the main content.</p>");
pdf.SaveAs("report_with_headers.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class IronPdfExample
{
static void Main()
{
var renderer = new ChromePdfRenderer();
// Configure header and footer
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Document Header</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>This is the main content.</p>");
pdf.SaveAs("report_with_headers.pdf");
}
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System
Class IronPdfExample
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
' Configure header and footer
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align:center'>Document Header</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
}
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>This is the main content.</p>")
pdf.SaveAs("report_with_headers.pdf")
End Sub
End Class
Telerik Reporting nécessite la création d'objets PageHeaderSection et PageFooterSection, la configuration de mesures Unit, la définition de propriétés Location et Size, et la gestion d'éléments TextBox avec des coordonnées spécifiques. L'approche d'IronPDF basée sur HTML utilise un style CSS familier et des espaces réservés simples comme {page} et {total-pages}.
Pour en savoir plus sur les options d'en-tête et de pied de page, consultez la documentation sur les en-têtes et les pieds de page.
Rapports TelerikAPI toIronPDFMapping Reference (Référence de mappage de l'API de reporting vers IronPDF)
Cette cartographie accélère la migration en indiquant les équivalents directs des API :
| Rapports Telerik | IronPDF |
|---|---|
Report classe |
ChromePdfRenderer |
ReportProcessor |
renderer.RenderHtmlAsPdf() |
ReportSource |
Chaîne ou fichier HTML |
.trdp / .trdx fichiers |
Modèles HTML/CSS |
ReportParameter |
Interpolation de chaînes de caractères / Razor |
ReportDataSource |
Liaison de données C# |
RenderReport("PDF") |
RenderHtmlAsPdf() |
Export() |
pdf.SaveAs() |
TextBox élément de rapport |
HTML <span>, <p>, <div> |
Table élément de rapport |
HTML <table> |
PictureBox |
HTML <img> |
PageSettings |
RenderingOptions |
Problèmes de migration courants et solutions
Édition 1 : Définitions des rapports (fichiers .trdp/.trdx)
Telerik Reporting utilise des définitions de rapport XML propriétaires qui ne peuvent pas être converties directement.
Solution: Convertir en modèles HTML en ouvrant le rapport dans le concepteur, en documentant la mise en page, les liaisons de données et le formatage, puis en recréant des modèles HTML/CSS. Utilisez Razor pour la liaison de données dans des scénarios complexes.
Edition 2 : Liaison avec la source de données
Telerik Reporting utilise SqlDataSource et des sources de données d'objets avec liaison d'expressions.
Solution: Récupérer des données en C# et les lier à HTML :
var data = await dbContext.Orders.ToListAsync();
var html = $"<table>{string.Join("", data.Select(d => $"<tr><td>{d.Name}</td></tr>"))}</table>";
var data = await dbContext.Orders.ToListAsync();
var html = $"<table>{string.Join("", data.Select(d => $"<tr><td>{d.Name}</td></tr>"))}</table>";
Dim data = Await dbContext.Orders.ToListAsync()
Dim html = $"<table>{String.Join("", data.Select(Function(d) $"<tr><td>{d.Name}</td></tr>"))}</table>"
Sujet 3 : Paramètres des rapports
Telerik Reporting utilise ReportParameter avec une interface utilisateur de paramètres intégrée.
Solution: Passer les paramètres directement à la génération HTML :
public string GenerateReport(string customerId, DateTime fromDate)
{
return $"<h1>Report for {customerId}</h1><p>From: {fromDate:d}</p>";
}
public string GenerateReport(string customerId, DateTime fromDate)
{
return $"<h1>Report for {customerId}</h1><p>From: {fromDate:d}</p>";
}
Public Function GenerateReport(customerId As String, fromDate As DateTime) As String
Return $"<h1>Report for {customerId}</h1><p>From: {fromDate:d}</p>"
End Function
Edition 4 : Fonctionnalités interactives
Telerik Reporting permet d'effectuer des recherches, des tris et des filtrages dans la visionneuse.
Solution:IronPDFgénère des PDF statiques. Pour l'interactivité, conservez les données dans votre interface web et générez un PDF lorsque l'utilisateur clique sur "Exporter" Cela permet de séparer les préoccupations entre l'exploration interactive des données et la génération de documents.
Rapports Telerik- Liste de contrôle pour la migration
Tâches préalables à la migration
Auditez votre base de code pour identifier toutes les utilisations de Rapports Telerik:
grep -r "using Telerik.Reporting" --include="*.cs" .
grep -r "Report\|ReportProcessor" --include="*.cs" .
grep -r "using Telerik.Reporting" --include="*.cs" .
grep -r "Report\|ReportProcessor" --include="*.cs" .
Documentez les sources de données et les paramètres, faites des captures d'écran des mises en page actuelles des rapports pour référence visuelle et identifiez les composants de rapport partagés qui peuvent être convertis en modèles HTML réutilisables.
Tâches de mise à jour du code
- Supprimer les paquets NuGet de Telerik
- Installer le paquet NuGet IronPDF
- Convertir les fichiers
.trdxen modèles HTML - Remplacez
ReportProcessorparChromePdfRenderer - Mise à jour de la liaison de données vers l'interpolation de chaînes ou Razor
- Convertissez les en-têtes/pieds de page en HTML en utilisant
HtmlHeaderFooter - Ajouter l'initialisation de la licence au démarrage
Test de post-migration
Après la migration, vérifiez ces aspects :
- Comparez visuellement la sortie PDF avec les rapports originaux
- Vérifier l'exactitude des données dans les PDF générés
- Test de pagination pour les documents de plusieurs pages
- Vérifier que les en-têtes/pieds de page apparaissent correctement sur toutes les pages
- Effectuer des tests de performance pour des scénarios à haut volume
Avantages clés de la migration vers IronPDF
Le passage de Rapports TelerikàIronPDFprésente plusieurs avantages pour les équipes axées sur la génération de PDF :
Moteur de rendu Chromium moderne :IronPDFutilise 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. Grâce à la prise en charge complète de CSS3 et de JavaScript, vos conceptions web sont directement traduites en PDF.
Licences simplifiées :IronPDFpropose des licences par développeur sans nécessiter l'achat d'une Suite complète. Pour les équipes qui n'ont besoin que de générer des PDF, cela représente une économie importante.
Technologies web standard : HTML, CSS et JavaScript sont des compétences que tout développeur web possède. Il n'est pas nécessaire d'apprendre des formats de modèles propriétaires ou des outils de conception spécialisés.
Empreinte de déploiement réduite : sans infrastructure de service de rapports ni composants de conception, les déploiements sont plus simples et plus rapides.
Développement actif : Avec l'adoption croissante de .NET 10 et C# 14 jusqu'en 2026, les mises à jour régulières d'IronPDF garantissent la compatibilité avec les versions actuelles et futures de .NET .

