IRONSOFTWAREHOME
VIDEOS

Cómo incrustar imágenes con URI de datos en C# | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 de julio de 2026

Telerik Reporting es una potente plataforma de generación de informes empresariales que ha servido a los desarrolladores .NET para crear informes interactivos con diseñadores visuales y funciones de desglose. Sin embargo, para los equipos cuya principal necesidad es la generación de PDF en lugar de una completa infraestructura de generación de informes, Telerik Reportinga menudo representa una sobrecarga significativa en costes de licencia, complejidad de implementación y huella en tiempo de ejecución.

Esta guía proporciona una ruta de migración completa de Telerik Reportinga IronPDF, con instrucciones paso a paso, comparaciones de código y ejemplos prácticos para desarrolladores .NET profesionales que estén evaluando esta transición.

Por qué migrar de Telerik Reporting

La decisión de migrar de Telerik Reportingsuele centrarse en adaptar las herramientas a los requisitos reales. Entre las principales razones por las que los equipos de desarrollo se plantean la migración se incluyen:

Licencia de paquete costosa: Telerik Reportingrequiere el paquete DevCraft (más de $1000 por desarrollador) o una licencia independiente. Para los equipos que solo necesitan generar PDF, esto representa una importante capacidad no utilizada.

Dependencia del Diseñador de informes: Telerik Reportingrequiere la instalación de extensiones de Visual Studio y componentes de tiempo de ejecución. Esto añade complejidad a los entornos de desarrollo y a las canalizaciones CI/CD.

Infraestructura compleja: Las implementaciones de producción pueden necesitar alojamiento de servicios de informes, cadenas de conexión y configuración de fuentes de datos, infraestructura que agrega una carga de mantenimiento para tareas sencillas de generación de PDF.

Formato propietario: Los formatos de archivo .trdp y .trdx lo encierran en el ecosistema Telerik. La migración o modificación de plantillas requiere herramientas de Telerik.

Tiempo de ejecución pesado: el espacio de implementación es sustancial para lo que pueden ser requisitos simples de conversión de HTML a PDF.

Suscripción anual: los costos continuos de actualizaciones y soporte se suman al costo total de propiedad.

Cuando Telerik Reportinges excesivo

Si utiliza Telerik Reportingprincipalmente para generar archivos PDF a partir de datos, es probable que esté pagando por funciones que no utiliza:

Usted necesitaTelerik proporciona (sin usar)
PDF a partir de HTMLDiseñador visual, drill-downs
Informes sencillosVisor interactivo, exportaciones
PDF del lado del servidorControles de escritorio, motor de gráficos

IronPDF proporciona generación de PDF enfocada sin sobrecarga de informes empresariales.

##IronPDFvs Telerik Reporting: Comparación de características

Comprender las diferencias arquitectónicas ayuda a los responsables técnicos a evaluar la inversión en migración:

CaracterísticaTelerik ReportingIronPDF
EnfoqueCreación de informes con opción de exportación a PDFGeneración completa de PDF a partir de HTML
IntegraciónSeamless con aplicaciones ASP.NET CorePuede integrarse en cualquier aplicación .NET
Complejidad de configuraciónRequiere la instalación de un diseñador de informesInstalación sencilla de NuGet
PreciosParte del paquete comercial DevCraftLicencia independiente, más rentable para la generación autónoma de PDF
Generación de PDFLimitado a la exportación de informesFunciones completas con manipulación avanzada de PDF
Público objetivoDesarrolladores que necesitan soluciones centradas en informesDesarrolladores que necesitan soluciones flexibles de generación de PDF
Formato de la plantilla.trdp / .trdxHTML/CSS/Razor
Curva de aprendizajeEspecífico de TelerikTecnologías web estándar
HTML a PDFLimitadoRenderizado completo en Chromium
URL a PDFNo
Soporte CSSLimitadoCSS3 completo
JavaScriptNoES2024 completo
Firmas digitalesNo
PDF/ANo
Tamaño del tiempo de ejecuciónSitio web de gran tamañoMás pequeño

Inicio rápido: Migración de Telerik Reportinga IronPDF

La migración puede comenzar inmediatamente con estos pasos básicos.

Paso 1: Sustituir paquetes NuGet

Elimine todos los paquetes de Telerik Reporting:

# Remove Telerik Reportingpackages
dotnet remove package Telerik.Reporting
dotnet remove package Telerik.Reporting.Services.AspNetCore
dotnet remove package Telerik.ReportViewer.Mvc
SHELL

Instalar IronPDF:

# Install IronPDF
dotnet add package IronPdf
SHELL

Paso 2: Actualizar los espacios de nombres

Sustituya los espacios de nombres Telerik por el espacio de nombres IronPdf:

// Before (Telerik Reporting)
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;

// After (IronPDF)
using IronPdf;

Paso 3: Inicializar licencia

Añadir inicialización de licencia al inicio de la aplicación:

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

Ejemplos de migración de código

Convertir HTML a PDF

El caso de uso más común demuestra la diferencia arquitectónica entre estas bibliotecas PDF .NET.

Enfoque de los informes 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);
        }
    }
}

Enfoque 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");
    }
}

La versión de Telerik requiere la creación de un objeto TypeReportSource, un InstanceReportSource, un Report con un HtmlTextBox, un ReportProcessor y una gestión manual del flujo de archivos. ChromePdfRenderer de IronPDF maneja todo el proceso con tres líneas de código.

Para situaciones avanzadas de conversión de HTML a PDF, consulte la Guía de conversión de HTML a PDF.

Convertir URL en PDF

La conversión de URL a PDF revela una importante carencia de capacidades en Telerik Reporting.

Enfoque de los informes 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);
        }
    }
}

Enfoque 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");
    }
}

Telerik Reporting no tiene capacidad nativa de URL a PDF. Debes obtener manualmente el contenido HTML usando WebClient, perdiendo CSS externo, ejecución de JavaScript y contenido dinámico en el proceso. El método RenderUrlAsPdf de IronPDF captura la página renderizada completa exactamente como aparece en un navegador.

Explore la URL a la documentación PDF para conocer las opciones de autenticación y encabezado personalizado.

Implementación de encabezados y pies de página con números de página

Los encabezados y pies de página con números de página dinámicos son esenciales para los documentos profesionales. Los enfoques de aplicación difieren significativamente.

Enfoque de los informes 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);
        }
    }
}

Enfoque 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");
    }
}

Telerik Reporting requiere crear objetos PageHeaderSection y PageFooterSection, configurar mediciones Unit, establecer propiedades Location y Size y administrar elementos TextBox con coordenadas específicas. El enfoque basado en HTML de IronPDF utiliza un estilo CSS familiar y marcadores de posición simples como {page} y {total-pages}.

Más información sobre las opciones de encabezado y pie de página en documentación sobre encabezados y pies de página.

Referencia de mapeo de la API de Telerik Reporting a IronPDF

Este mapeo acelera la migración al mostrar los equivalentes directos de las API:

Telerik ReportingIronPDF
Report claseChromePdfRenderer
ReportProcessorrenderer.RenderHtmlAsPdf()
ReportSourceCadena o archivo HTML
archivos .trdp / .trdxPlantillas HTML/CSS
ReportParameterInterpolación de cadenas / Razor
ReportDataSourceEnlace de datos en C#
RenderReport("PDF")RenderHtmlAsPdf()
Export()pdf.SaveAs()
TextBox reportar elementoHTML <span>, <p>, <div>
Table reportar elementoHTML <table>
PictureBoxHTML <img>
PageSettingsRenderingOptions

Problemas comunes de migración y soluciones

Edición 1: Definiciones de informes (archivos .trdp/.trdx)

Telerik Reporting utiliza definiciones de informes XML patentadas que no se pueden convertir directamente.

Solución: Convertir a plantillas HTML abriendo el informe en el diseñador, documentando el diseño, los enlaces de datos y el formato y, a continuación, recreándolo como plantillas HTML/CSS. Utilice Razor para la vinculación de datos en escenarios complejos.

Número 2: Data Source Binding

Telerik Reporting utiliza SqlDataSource y fuentes de datos de objetos con enlace de expresiones.

Solución: Obtener datos en C# y enlazarlos a HTML:

var data = await dbContext.Orders.ToListAsync();
var html = $"<table>{string.Join("", data.Select(d => $"<tr><td>{d.Name}</td></tr>"))}</table>";

Tema 3: Parámetros de informe

Telerik Reporting utiliza ReportParameter con interfaz de usuario de parámetros incorporada.

Solución: Pasar parámetros directamente a la generación HTML:

public string GenerateReport(string customerId, DateTime fromDate)
{
    return $"<h1>Report for {customerId}</h1><p>From: {fromDate:d}</p>";
}

Número 4: Funciones interactivas

Telerik Reporting ofrece funciones de desglose, clasificación y filtrado en el visor.

**Solución:**IronPDF genera archivos PDF estáticos. Para la interactividad, mantenga los datos en su interfaz de usuario web y genere el PDF cuando el usuario haga clic en "Exportar" Esto separa las preocupaciones entre la exploración interactiva de datos y la generación de documentos.

Lista de comprobación de la migración a Telerik Reporting

Tareas previas a la migración

Audite su código base para identificar todo el uso de Telerik Reporting:

grep -r "using Telerik.Reporting" --include="*.cs" .
grep -r "Report\|ReportProcessor" --include="*.cs" .
SHELL

Documente las fuentes de datos y los parámetros, haga capturas de pantalla de los diseños actuales de los informes como referencia visual e identifique los componentes compartidos de los informes que pueden convertirse en plantillas HTML reutilizables.

Tareas de actualización de código

  1. Eliminar paquetes NuGet de Telerik
  2. Instalación del paquete IronPdf NuGet
  3. Convertir archivos .trdx en plantillas HTML
  4. Reemplace ReportProcessor con ChromePdfRenderer
  5. Actualizar la vinculación de datos a la interpolación de cadenas o Razor
  6. Convierta encabezados y pies de página a HTML usando HtmlHeaderFooter
  7. Añadir inicialización de licencia al inicio

Pruebas posteriores a la migración

Tras la migración, verifique estos aspectos:

  • Comparar visualmente el resultado PDF con los informes originales
  • Verificar la exactitud de los datos en los PDF generados
  • Prueba de paginación para documentos de varias páginas
  • Comprobar que los encabezados/pies de página aparecen correctamente en todas las páginas
  • Realización de pruebas de rendimiento para escenarios de gran volumen

Beneficios clave de migrar a IronPDF

Pasar de Telerik Reportinga IronPDF ofrece varias ventajas a los equipos centrados en la generación de PDF:

**Motor de renderizado moderno de Chromium:**IronPDF utiliza el mismo motor de renderizado que Google Chrome, lo que garantiza que los archivos PDF se representen exactamente como aparece el contenido en los navegadores modernos. Gracias a la compatibilidad total con CSS3 y JavaScript, tus diseños web se traducen directamente a PDF.

**Licencias simplificadas:**IronPDF ofrece licencias por desarrollador sin necesidad de comprar una suite completa. Para los equipos que solo necesitan generar PDF, esto supone un importante ahorro de costes.

Tecnologías web estándar: HTML, CSS y JavaScript son habilidades que todo desarrollador web posee. No hay que aprender formatos de plantilla propietarios ni herramientas de diseño especializadas.

Huella de implementación más pequeña: sin infraestructura de servicio de informes ni componentes de diseño, las implementaciones son más simples y rápidas.

Desarrollo activo: a medida que aumenta la adopción de .NET 10 y C# 14 hasta 2026, las actualizaciones periódicas de IronPDF garantizan la compatibilidad con las versiones actuales y futuras de .NET .

Migración de Telerik Reporting a IronPDF: contexto regulatorio para España

Para los ISVs y equipos de desarrollo en España, la migración de Telerik Reporting a IronPDF tiene implicaciones regulatorias directas en contextos de facturación, ERP y gestión documental.

VeriFactu (RDL 15/2025): Los proveedores de software de facturación deben generar registros con huella anti-manipulación, código QR verificable ante la AEAT y la leyenda VERI*FACTU en las visualizaciones de factura. Telerik Reporting fue diseñado para informes empresariales generales, no para el cumplimiento específico de VeriFactu. IronPDF, con licencia comercial propietaria, actúa como componente de generación PDF dentro del software de facturación certificado. El incumplimiento puede acarrear sanciones de hasta €150.000 al año.

TicketBAI (País Vasco): Las tres haciendas forales —Bizkaia (bizkaia.eus), Gipuzkoa (gipuzkoa.eus) y Araba (araba.eus)— tienen especificaciones propias de facturación electrónica. IronPDF genera los PDFs de factura y los códigos QR requeridos; la firma XAdES de los XMLs TicketBAI se gestiona en la capa del ISV.

Facturae, FACe y Crea y Crece: Para facturación B2G a través de FACe, IronPDF soporta la generación de documentos Facturae XML con adjuntos PDF/A-3 de forma nativa. La ley Crea y Crece extiende la obligatoriedad de factura electrónica B2B a partir de 2027 (>€8M) y 2028 (resto).

LOPDGDD (AEPD): El procesamiento on-premise con IronPDF facilita el cumplimiento del LOPDGDD para el tratamiento de documentos con datos personales, sin dependencias de infraestructura externa que amplíen el alcance del tratamiento.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta