IRONSOFTWAREHOME
VIDEOS

Convertir CSHTML a PDF en ASP.NET Core MVC con IronPDF

Curtis Chau
Curtis Chau
Updated: 19 de julio de 2026

La migración de PDFView4NETa IronPDF transforma su flujo de trabajo PDF de un componente de visualización centrado en la interfaz de usuario a una completa biblioteca de generación y manipulación de PDF. Esta guía proporciona una ruta de migración completa, paso a paso, que permite el procesamiento del lado del servidor, la compatibilidad con aplicaciones web y funciones completas de gestión del ciclo de vida de PDF que PDFView4NETno puede proporcionar.

Por qué migrar de PDFView4NETa IronPDF

Entender PDFView4NET

PDFView4NET es una opción popular para los desarrolladores que se centran principalmente en las funciones de visualización de PDF en C#. PDFView4NETofrece sólidos controles de visualización de PDF adaptados a aplicaciones Windows Forms (WinForms) y Windows Presentation Foundation (WPF). El énfasis de la biblioteca en proporcionar una experiencia de visualización de PDF sin problemas la convierte en una opción a la que recurrir para el desarrollo de aplicaciones de escritorio.

A pesar de sus puntos fuertes, PDFView4NETtiene limitaciones que pueden incitar a los desarrolladores a explorar bibliotecas más completas como IronPDF, que ofrece una solución todo en uno para PDF que abarca capacidades de creación, visualización y manipulación sin limitarse a componentes específicos de la interfaz de usuario.

La limitación de solo visualización

PDFView4NET es principalmente un componente de visualización de interfaz de usuario para aplicaciones WinFormsy WPF. Se centra en la visualización de PDF más que en su creación o manipulación. Razones clave para migrar:

  1. Limitaciones de solo visualización: PDFView4NETestá diseñado para visualizar, no para crear PDF.

  2. Dependencia del marco de interfaz de usuario: requiere contexto WinFormso WPF. El requisito de entornos WinFormso WPFpuede restringir el uso en otros contextos, como aplicaciones de consola o servicios web, que no son compatibles con PDFView4NET.

  3. No HTML a PDF: No se puede convertir HTML o URL a PDF. La biblioteca se centra estrictamente en la visualización, sin funciones integradas para crear o manipular archivos PDF.

  4. Manipulación limitada: Edición básica en comparación con el conjunto completo de funciones de IronPDF.

  5. Sin soporte del lado del servidor: no se puede ejecutar en servicios web o funciones de Azure.

  6. Tecnología heredada: desarrollo menos activo y actualizaciones de funciones modernas.

Comparación entre PDFView4NETe IronPDF

CaracterísticaPDFView4NETIronPDF
Enfoque principalVisualización en PDFSolución PDF completa (crear, ver, editar)
Framework de interfaz de usuario requeridoWinForms, WPFNinguno
Creación de PDFNo
Manipulación de PDFLimitado (anotaciones)
Lado ServidorNo compatibleSoporte completo
Aplicaciones webNo
Aplicaciones de consolaLimitadoSoporte completo
Azure/DockerNo
HTML a PDFNo
Contexto multiplataformaNo
Facilidad de integraciónMedioAlta

IronPDF se distingue por su versatilidad y su amplio conjunto de funciones, lo que lo hace especialmente atractivo para los desarrolladores que necesitan un enfoque holístico del manejo de PDF en C#. La biblioteca admite la creación, visualización y edición de PDF, entre otras funciones, y aborda casos de uso que van mucho más allá de las capacidades de visualización de PDFView4NET.

Para los equipos que planifican la adopción de .NET 10 y C# 14 hasta 2025 y 2026,IronPDF proporciona independencia de contexto: puede utilizarse en diferentes contextos, incluidas aplicaciones web, servicios y aplicaciones de consola. Esta flexibilidad es crucial para proyectos que requieren compatibilidad entre plataformas y diversos escenarios de despliegue.


Antes de empezar

Prerrequisitos

  1. Entorno .NET : .NET Framework 4.6.2+ o .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Acceso a NuGet : Capacidad para instalar paquetes NuGet
  3. Licencia de IronPDF: Obtenga su clave de licencia en IronPDF

Cambios en el paquete NuGet

<!-- Remove PDFView4NET-->
<PackageReference Include="O2S.Components.PDFView4NET" Version="*" Remove />

<!-- Add IronPDF-->
<PackageReference Include="IronPdf" Version="2024.*" />
XML

O a través de CLI:

dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
SHELL

Configuración de licencias

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

Referencia completa de la API

Cambios en el espacio de nombres

// Before: PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using O2S.Components.PDFView4NET.Printing;

// After: IronPDF
using IronPdf;

Mapeos de API principales

PDFView4NETIronPDF
PDFFile.Open(path)PdfDocument.FromFile(path)
PDFFile.Open(stream)PdfDocument.FromStream(stream)
pdfFile.GetPage(index)pdf.Pages[index]
pdfFile.PageCountpdf.PageCount
PDFPrintDocumentpdf.Print()
pdfFile.Close()pdf.Dispose()
HtmlToPdfConverterChromePdfRenderer
N/APdfDocument.Merge()
N/Apdf.ApplyWatermark()
N/Apdf.SecuritySettings

Ejemplos de migración de código

Ejemplo 1: Conversión de URL a PDF

Antes (PDFView4NET):

// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfConverter converter = new HtmlToPdfConverter();
        converter.NavigateUri = new Uri("https://example.com");
        converter.ConvertHtmlToPdf();
        converter.SavePdf("output.pdf");
    }
}

Después (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("output.pdf");
    }
}

PDFView4NET usa HtmlToPdfConverter con la propiedad NavigateUri establecida en un objeto Uri, seguido de una llamada a ConvertHtmlToPdf() y luego a SavePdf().IronPDF simplifica esto a un solo ChromePdfRenderer con RenderUrlAsPdf() que acepta una URL de cadena directamente y devuelve un PdfDocument que guarda con SaveAs(). El enfoque de IronPDFofrece una sintaxis más limpia y una mejor integración con las aplicaciones .NET modernas. Consulte la documentación HTML a PDF para ver ejemplos completos.

Ejemplo 2: Conversión de cadenas HTML a PDF

Antes (PDFView4NET):

// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
        HtmlToPdfConverter converter = new HtmlToPdfConverter();
        converter.HtmlContent = htmlContent;
        converter.ConvertHtmlToPdf();
        converter.SavePdf("document.pdf");
    }
}

Después (IronPDF):

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

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("document.pdf");
    }
}

PDFView4NET usa la propiedad HtmlContent para establecer la cadena HTML, luego requiere llamar a ConvertHtmlToPdf() seguido de SavePdf().IronPDF proporciona una API más fluida donde RenderHtmlAsPdf() acepta la cadena HTML directamente y devuelve un PdfDocument. Los nombres de los métodos son más intuitivos: RenderHtmlAsPdf vs ConvertHtmlToPdf. Más información en nuestros tutoriales.

Ejemplo 3: Extracción de texto de un PDF

Antes (PDFView4NET):

// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        using (FileStream fs = File.OpenRead("document.pdf"))
        {
            PDFDocument document = new PDFDocument(fs);
            string text = "";
            for (int i = 0; i < document.Pages.Count; i++)
            {
                text += document.Pages[i].ExtractText();
            }
            Console.WriteLine(text);
        }
    }
}

Después (IronPDF):

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

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("document.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}

Este ejemplo destaca una diferencia significativa entre las API. PDFView4NETrequiere crear manualmente un FileStream, instanciar PDFDocument con la secuencia, luego recorrer document.Pages.Count y concatenar Pages[i].ExtractText() para cada página.

IronPDF simplifica esto drásticamente: PdfDocument.FromFile() carga el PDF directamente desde una ruta y ExtractAllText() extrae texto de todas las páginas en una sola llamada de método. Sin gestión manual de flujos, sin bucles, sin concatenación de cadenas: sólo dos líneas de código.


Notas de migración críticas

Cambio de clase de conversor

PDFView4NET utiliza HtmlToPdfConverter;IronPDF utiliza ChromePdfRenderer:

// PDFView4NET
HtmlToPdfConverter converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();

API basada en propiedades frente a API basada en métodos

PDFView4NET establece las propiedades antes de la conversión:

// PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent;
converter.NavigateUri = new Uri(url);
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");

// IronPDF: Method parameters with fluent API
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");

Cambio de carga del documento

// PDFView4NET: Requires FileStream
using (FileStream fs = File.OpenRead("document.pdf"))
{
    PDFDocument document = new PDFDocument(fs);
}

// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");

Cambio de acceso a la página

// PDFView4NET: document.Pages.Count and Pages[i]
for (int i = 0; i < document.Pages.Count; i++)
{
    document.Pages[i].ExtractText();
}

// IronPDF: pdf.PageCount and Pages[i] or ExtractAllText()
string text = pdf.ExtractAllText();
// Or per-page: pdf.ExtractTextFromPage(0);

Cambio de método de guardado

// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");

// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");

Nuevas capacidades tras la migración

Tras migrar a IronPDF, obtendrá funciones que PDFView4NETno puede ofrecer:

Fusión de PDF

var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_book.pdf");

Marcas de agua con HTML

var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
    <div style='
        font-size: 72pt;
        color: rgba(255, 0, 0, 0.2);
        transform: rotate(-45deg);
    '>
        CONFIDENTIAL
    </div>");
pdf.SaveAs("watermarked.pdf");

Protección con contraseña

var pdf = PdfDocument.FromFile("document.pdf");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("protected.pdf");

Relleno de formularios

var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.GetFieldByName("FirstName").Value = "John";
pdf.Form.GetFieldByName("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");

Procesamiento del lado del servidor

PDFView4NET no puede ejecutarse en entornos de servidor.IronPDF destaca aquí:

// ASP.NET Core
[HttpGet]
public IActionResult GeneratePdf()
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(GetReportHtml());
    return File(pdf.BinaryData, "application/pdf", "report.pdf");
}

Resumen comparativo de características

CaracterísticaPDFView4NETIronPDF
Ver PDFSí (interfaz de usuario)No (usar visor)
Cargar PDF
Guardar PDFLimitado
HTML a PDFNo
URL a PDFNo
Fusionar PDFNo
Dividir PDFLimitado
Marcas de aguaNo
Encabezados/pies de páginaNo
Protección por contraseñaNo
Firmas digitalesNo
Extracción de TextoLimitado
Rellenar formulariosLimitado
WinForms
WPF
ConsolaLimitado
ASP.NETNo
AzureNo
DockerNo

Lista de comprobación de la migración

Pre-Migración

  • Identificar los requisitos de visualización (determinar si las capacidades de IronPDF pueden reemplazar la visualización de PDF basada en UI)
  • Flujos de trabajo de impresión de documentos
  • Enumerar las necesidades de manipulación de PDF
  • Planifique el reemplazo del visor si es necesario (IronPDF se centra en la generación/manipulación)
  • Obtenga la clave de licencia de IronPDFen IronPDF

Cambios en el paquete

  • Eliminar el paquete NuGet O2S.Components.PDFView4NET
  • Instalar IronPdf el paquete NuGet : dotnet add package IronPdf

Cambios de código

  • Actualizar las importaciones del espacio de nombres (using O2S.Components.PDFView4NET;using IronPdf;)
  • Reemplace HtmlToPdfConverter con ChromePdfRenderer
  • Reemplace converter.HtmlContent + ConvertHtmlToPdf() con renderer.RenderHtmlAsPdf(html)
  • Reemplace converter.NavigateUri + ConvertHtmlToPdf() con renderer.RenderUrlAsPdf(url)
  • Reemplace converter.SavePdf() con pdf.SaveAs()
  • Reemplace PDFDocument(stream) con PdfDocument.FromFile(path)
  • Reemplace la extracción manual del bucle de página con pdf.ExtractAllText()
  • Agregar inicialización de licencia al iniciar la aplicación

Posmigración

  • Prueba de carga y guardado de PDF
  • Verificar la funcionalidad de extracción de texto
  • Prueba de conversión de HTML a PDF
  • Verificar que la implementación del servidor funcione (nueva capacidad)
  • Pruebe la multiplataforma si es necesario (nueva capacidad)
  • Eliminar el código PDF específico de la interfaz de usuario si es solo del servidor

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