IRONSOFTWAREHOME
VÍDEOS

Converter CSHTML para PDF em ASP.NET Core MVC com IronPDF

Curtis Chau
Curtis Chau
Updated: 19 de julho de 2026

Migrar dePDFView4NETpara IronPDF move seu fluxo de trabalho de PDF de um componente de visualização WinForms/WPF para uma biblioteca de geração e manipulação PDF sem cabeça. Este guia fornece um caminho de migração passo a passo que possibilita processamento do lado do servidor, suporte a aplicativos web e gerenciamento mais amplo do ciclo de vida de PDF além do escopo de visualização/renderização/impressão do PDFView4NET.

Por que migrar doPDFView4NETpara o IronPDF?

Entendendo o PDFView4NET

PDFView4NET (O2 Solutions, o2sol.com) é um kit de ferramentas de visualização / renderização / impressão para aplicaçõesWinFormse WPF. Ele é fornecido como dois pacotes NuGet — O2S.Components.PDFView4NET.Win e O2S.Components.PDFView4NET.WPF — e inclui seu próprio mecanismo de renderização de PDF. O2 Solutions vende uma biblioteca separada, PDF4NET, para criação/manipulação programática; este guia cobre apenas PDFView4NET.

Equipes que precisam de geração de PDF, renderização de HTML para PDF ou fluxos de trabalho do lado do servidor frequentemente combinamPDFView4NETcom outra biblioteca, ou migram diretamente para um kit de ferramentas como o IronPDF, que cobre criação e manipulação, bem como cenários de implantação sem cabeça.

O Âmbito de Visualização / Renderização / Impressão

PDFView4NET é construído em torno de exibir, renderizar e imprimir PDFs, além de anotações e preenchimento de formulários. Razões comuns para migrar:

  1. **Foco em Visualização / Renderização / Impressão:**PDFView4NETcarrega PDFs existentes para exibição, impressão ou renderização de imagem. Não gera PDFs a partir de HTML ou URLs.

  2. Dependência de Framework de UI: Distribuído em ediçõesWinFormse WPF; ambos têm como alvo o Windows desktop, o que limita o uso em trabalhadores de console ou hosts do lado do servidor.

  3. Sem HTML para PDF: Não há HtmlToPdfConverter ou API de renderização de HTML em O2S.Components.PDFView4NET.

  4. Manipulação Limitada: A manipulação está centrada em anotações e campos de formulários em vez de criação de conteúdo completo.

  5. Sem Caminho para Linux /Docker/Servidor: O kit de ferramentas é apenas para Windows via WinForms/WPF e não é projetado para hosts ASP.NET em Linux ou cargas de trabalho em contêiner.

  6. Ativo, mas Limitado: O2 Solutions ainda lança versões; o produto é mantido, mas seu escopo é intencionalmente limitado.

Comparação entrePDFView4NETe IronPDF

RecursoPDFView4NETIronPDF
Foco principalVisualização de PDFSolução completa para PDF (Criar, Visualizar, Editar)
Frameworks de interface do usuário necessáriosWinForms, WPFNone
Criação de PDFNãoSim
Manipulação de PDFLimitado (Anotações)Sim
Lado do servidorNão suportadoSuporte completo
Aplicações WebNãoSim
Aplicativos de consoleLimitadoSuporte completo
Azure/DockerNãoSim
HTML para PDFNãoSim
Contexto multiplataformaNãoSim
Facilidade de integraçãoMédioAlto

IronPDF cobre criação, manipulação e renderização de PDFs além dos fluxos de trabalho adjacentes à visualização, abordando casos de uso que vão além do escopo de visualização/renderização/impressão do PDFView4NET.

IronPDF também é independente de contexto — ele funciona em aplicações web, serviços e aplicações de console no Windows, Linux, macOS,Dockere Azure, o que pode ser importante para projetos que precisam de suporte multiplataforma ou hospedagem do lado do servidor.


Antes de começar

Pré-requisitos

  1. Ambiente .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Acesso ao NuGet : Capacidade de instalar pacotes NuGet.
  3. Licença do IronPDF: Obtenha sua chave de licença em IronPDF

Alterações no pacote NuGet

<!-- RemovePDFView4NET(the actual NuGet IDs are split by UI framework) -->
<PackageReference Include="O2S.Components.PDFView4NET.Win" Version="*" Remove />
<!-- or for WPF: O2S.Components.PDFView4NET.WPF -->

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

Ou via linha de comando:

dotnet remove package O2S.Components.PDFView4NET.Win
# (use O2S.Components.PDFView4NET.WPF for theWPFedition)
dotnet add package IronPdf
SHELL

Configuração de licença

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

Referência completa da API

Alterações de namespace

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

// After: IronPDF
using IronPdf;

Mapeamentos da API principal

PDFView4NETIronPDF
new PDFDocument(); doc.Load(path)PdfDocument.FromFile(path)
new PDFDocument(); doc.Load(stream)PdfDocument.FromStream(stream)
document.Pages[index]pdf.Pages[index]
document.PageCountpdf.PageCount
document.Print(...)pdf.Print()
document.Close()pdf.Dispose()
N/A no PDFView4NETChromePdfRenderer (HTML para PDF)
N/A no PDFView4NETPdfDocument.Merge()
N/A no PDFView4NETpdf.ApplyWatermark()
document.SecurityManagerpdf.SecuritySettings

Exemplos de migração de código

Exemplo 1: Conversão de URL para PDF

Antes (PDFView4NET):

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

class Program
{
    static void Main()
    {
        //PDFView4NETcannot fetch a URL and emit a PDF; it can only consume one.
        PDFDocument document = new PDFDocument();
        document.Load("input.pdf");
        Console.WriteLine($"Loaded {document.PageCount} page(s) for view/print.");
        document.Close();
    }
}
C#

Apó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 não tem superfície de renderização de HTML/URL — não há HtmlToPdfConverter em O2S.Components.PDFView4NET, então uma URL deve ser renderizada para PDF por outra ferramenta primeiro e depois carregada para visualização/impressão.IronPDF lida com toda a conversão com uma única chamada ChromePdfRenderer.RenderUrlAsPdf() que retorna um PdfDocument que você salva com SaveAs(). Consulte a documentação de conversão de HTML para PDF para obter exemplos completos.

Exemplo 2: Conversão de string HTML para PDF

Antes (PDFView4NET):

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

class Program
{
    static void Main()
    {
        // The HTML string cannot be rendered by PDFView4NET. Assume an upstream
        // tool produced "document.pdf";PDFView4NETcan then display or print it.
        PDFDocument document = new PDFDocument();
        document.Load("document.pdf");
        Console.WriteLine($"Document ready for viewing — {document.PageCount} page(s).");
        document.Close();
    }
}
C#

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

Não há propriedade HtmlContent ou API de renderização de HTML em O2S.Components.PDFView4NET, então a string HTML precisa ser produzida como PDF em outro lugar e depois carregada no visualizador.IronPDF aceita a string HTML diretamente via RenderHtmlAsPdf() e retorna um PdfDocument. Saiba mais em nossos tutoriais .

Exemplo 3: Extração de texto de um PDF

Antes (PDFView4NET):

// NuGet: Install-Package O2S.Components.PDFView4NET.Win
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();
            document.Load(fs);
            string text = "";
            for (int i = 0; i < document.PageCount; i++)
            {
                text += document.Pages[i].ExtractText();
            }
            Console.WriteLine(text);
            document.Close();
        }
    }
}

Apó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 exemplo destaca uma diferença significativa na API.PDFView4NETrequer criar um FileStream, instanciar PDFDocument e chamar Load(fs), depois iterar document.PageCount e concatenar Pages[i].ExtractText() por página.

IronPDF simplifica isso de maneira dramática: PdfDocument.FromFile() carrega o PDF diretamente de um caminho, e ExtractAllText() extrai texto de todas as páginas em uma única chamada de método. Sem gerenciamento manual de fluxos, sem loops, sem concatenação de strings — apenas duas linhas de código.


Notas críticas sobre migração

Superfície de Renderização HTML

PDFView4NET não tem API de HTML para PDF.IronPDF introduz ChromePdfRenderer para entrada HTML/URL:

// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// or: renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");

Alteração de carregamento de documento

// PDFView4NET: instantiate then Load(path) or Load(stream)
PDFDocument document = new PDFDocument();
document.Load("document.pdf");

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

Alteração de acesso à página

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

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

Salvar alteração de método

//PDFView4NEThas no save-from-HTML path; saving applies after edits on a loaded document.
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
C#

Novas funcionalidades após a migração

Após migrar para o IronPDF, você obtém recursos que oPDFView4NETnão pode fornecer:

Fusão de PDFs

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

Marcas d'água com 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");

Proteção por senha

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

Preenchimento de formulários

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

Processamento do lado do servidor

OPDFView4NETnão pode ser executado em ambientes de servidor. O IronPDF se destaca nesse aspecto:

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

Resumo da comparação de recursos

RecursoPDFView4NETIronPDF
Ver PDFsSim (interface do usuário)Não (use o visualizador)
Carregar PDFsSimSim
Salvar PDFsLimitadoSim
HTML para PDFNãoSim
URL para PDFNãoSim
Mesclar PDFsNãoSim
Dividir PDFsLimitadoSim
Marcas d'águaNãoSim
Cabeçalhos/RodapésNãoSim
Proteção por senhaNãoSim
Assinaturas digitaisNãoSim
Extração de textoLimitadoSim
Preencha os formulários.LimitadoSim
WinFormsSimSim
WPFSimSim
ConsoleLimitadoSim
ASP.NETNãoSim
AzureNãoSim
DockerNãoSim

Lista de verificação para migração

Pré-migração

  • Identificar os requisitos de visualização (determinar se os recursos do IronPDF podem substituir a visualização de PDFs baseada em interface gráfica)
  • Fluxos de trabalho de impressão de documentos
  • Listar as necessidades de manipulação de PDF
  • Substituição do visualizador de plantas, se necessário (o IronPDF foca na geração/manipulação de plantas)
  • Obtenha a chave de licença do IronPDF em IronPDF

Alterações no pacote

  • Remova O2S.Components.PDFView4NET.Win (ou .WPF) pacote NuGet
  • Instale IronPdf pacote NuGet: dotnet add package IronPdf

Alterações no código

  • Atualize as importações de namespace (using O2S.Components.PDFView4NET;using IronPdf;)
  • Introduza ChromePdfRenderer para qualquer entrada HTML ou URL (sem equivalente no PDFView4NET)
  • Substituanew PDFDocument(); document.Load(path) with PdfDocument.FromFile(path)
  • Substituanew PDFDocument(); document.Load(stream) with PdfDocument.FromStream(stream)
  • Substitua manualmente for (int i = 0; i < document.PageCount; i++) (or pdf.ExtractTextFromPage(i))
  • Substitua document.Close() por pdf.Dispose() (ou um bloco using)
  • Adicionar inicialização de licença na inicialização do aplicativo

Pós-migração

  • Testar o carregamento e o salvamento de PDFs
  • Verificar a funcionalidade de extração de texto
  • Teste de conversão de HTML para PDF
  • Verificar se a implantação do servidor funciona (nova funcionalidade)
  • Testar a compatibilidade entre plataformas, se necessário (nova funcionalidade)
  • Remover o código PDF específico da interface do usuário se for exclusivo do servidor.

Observe: PDFView4NET é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pela O2 Solutions. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.
Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.