IRONSOFTWAREHOME
VIDÉOS

Convertir CSHTML en PDF dans ASP.NET Core MVC avec IronPDF

Curtis Chau
Curtis Chau
Updated: 19 juillet 2026

Migrer de PDFView4NETà IronPDF déplace votre flux de travail PDF d'un composant d'affichage WinForms/WPF à une bibliothèque de génération et de manipulation de PDF sans interface utilisateur. Ce guide fournit un chemin de migration étape par étape qui permet le traitement côté serveur, le support des applications web, et une gestion plus large de cycle de vie des PDFs au-delà de la portée d'affichage/rendu/impression de PDFView4NET.

Pourquoi passer de PDFView4NETà IronPDF

Comprendre PDFView4NET

PDFView4NET (O2 Solutions, o2sol.com) est un kit d'outils de visionnage/rendu/impression pour les applications WinFormset WPF. Il est livré sous la forme de deux packages NuGet — O2S.Components.PDFView4NET.Win et O2S.Components.PDFView4NET.WPF — et inclut son propre moteur de rendu PDF. O2 Solutions vend une bibliothèque séparée, PDF4NET, pour la création/manipulation programmatique ; ce guide ne couvre que PDFView4NET.

Les équipes qui ont besoin de génération de PDF, de rendu HTML-vers-PDF, ou de flux de travail côté serveur associent souvent PDFView4NETà une autre bibliothèque, ou migrent directement vers un kit tel qu'IronPDF qui couvre la création et la manipulation ainsi que les scénarios de déploiement sans interface utilisateur.

La portée d'affichage/rendu/impression

PDFView4NET est construit autour de l'affichage, du rendu et de l'impression de PDFs, ainsi que de l'annotation et du remplissage de formulaires. Raisons communes de migration :

  1. Focus sur l'affichage/rendu/impression : PDFView4NETcharge des PDFs existants pour l'affichage, l'impression ou le rendu d'images. Il ne génère pas de PDFs à partir de HTML ou d'URLs.

  2. Dépendance du cadre UI : Distribué en éditions WinFormset WPF; les deux ciblent le bureau Windows, ce qui limite l'utilisation dans les travailleurs de console ou les hôtes côté serveur.

  3. Pas de HTML en PDF : Il n'y a pas de HtmlToPdfConverter ou d'API de rendu HTML dans O2S.Components.PDFView4NET.

  4. Manipulation limitée : La manipulation est centrée sur les annotations et les champs de formulaire plutôt que sur l'autorisation de contenu complet.

  5. Aucun chemin Linux / Docker/Serveur : Le kit d'outils est uniquement pour Windows via WinForms/WPF et n'est pas conçu pour les hôtes ASP.NET sur Linux ou les charges de travail contenairisées.

  6. Actif, mais étroit : O2 Solutions livre toujours des versions ; le produit est maintenu, mais son champ est intentionnellement restreint.

Comparaison PDFView4NETvs IronPDF

FonctionPDFView4NETIronPDF
Accent principalVisualisation du PDFSolution PDF complète (création, visualisation, modification)
Cadres d'interface utilisateur requisWinForms, WPFNone
Création de PDFNonOui
Manipulation de PDFLimité (Annotations)Oui
Côté serveurNon pris en chargePrise en charge complète
Applications webNonOui
Applications de consoleLimitéPrise en charge complète
Azure/DockerNonOui
HTML à PDFNonOui
Contexte multiplateformeNonOui
Facilité d'intégrationMoyenHaut

IronPDF couvre la création, la manipulation et le rendu de PDF en plus des flux de travail adjacents à l'affichage, traitant des cas d'utilisation qui vont au-delà de la portée d'affichage/rendu/impression de PDFView4NET.

IronPDF est également indépendant du contexte - il fonctionne dans les applications web, les services, et les applications console sur Windows, Linux, macOS, Docker, et Azure, ce qui peut être important pour les projets qui nécessitent un support multiplateforme ou un hébergement côté serveur.


Avant de commencer

Prérequis

  1. Environnement .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Accès à NuGet : possibilité d'installer des packages NuGet
  3. Licence IronPDF : Obtenez votre clé de licence sur IronPDF

Modifications du paquet NuGet

<!-- Remove PDFView4NET(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 CLI :

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

Configuration de la licence

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

Référence API complète

Modifications de l'espace de nommage

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

// After: IronPDF
using IronPdf;

Mappages de l'API de base

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 dans PDFView4NETChromePdfRenderer (HTML vers PDF)
N/A dans PDFView4NETPdfDocument.Merge()
N/A dans PDFView4NETpdf.ApplyWatermark()
document.SecurityManagerpdf.SecuritySettings

Exemples de migration de code

Exemple 1 : Conversion d'une URL en PDF

Avant (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#

Aprè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'a pas de surface de rendu HTML/URL — il n'y a pas de HtmlToPdfConverter dans O2S.Components.PDFView4NET, donc une URL doit d'abord être rendue en PDF par un autre outil puis chargée pour visualisation/impression.IronPDF gère toute la conversion avec un seul appel ChromePdfRenderer.RenderUrlAsPdf() qui renvoie un PdfDocument que vous sauvegardez avec SaveAs(). Consultez la documentation HTML vers PDF pour des exemples complets.

Exemple 2 : Conversion d'une chaîne de caractères HTML en PDF

Avant (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#

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

Il n'y a pas de propriété HtmlContent ou d'API de rendu HTML dans O2S.Components.PDFView4NET, donc la chaîne HTML doit être produite sous forme de PDF ailleurs puis chargée dans le visualiseur.IronPDF accepte directement la chaîne HTML via RenderHtmlAsPdf() et renvoie un PdfDocument. Pour en savoir plus, consultez nos tutoriels.

Exemple 3 : Extraction de texte à partir d'un PDF

Avant (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();
        }
    }
}
C#

Aprè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);
    }
}

Cet exemple met en évidence une différence importante entre les API. PDFView4NETnécessite la création d'un FileStream, l'instanciation d'un PDFDocument et l'appel de Load(fs), puis l'itération de document.PageCount et la concaténation de Pages[i].ExtractText() par page.

IronPDF simplifie cela de manière spectaculaire : PdfDocument.FromFile() charge le PDF directement à partir d'un chemin, et ExtractAllText() extrait le texte de toutes les pages en un seul appel de méthode. Pas de gestion manuelle des flux, pas de boucles, pas de concaténation de chaînes - juste deux lignes de code.


Notes de migration essentielles

Surface de rendu HTML

PDFView4NET n'a pas d'API HTML-vers-PDF.IronPDF introduit ChromePdfRenderer pour l'entrée HTML/URL :

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

Changement de chargement de document

// 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");

Modification de l'accès à la page

// 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);
C#

Enregistrer le changement de méthode

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

Nouvelles capacités après la migration

Après avoir migré vers IronPDF, vous bénéficiez de fonctionnalités que PDFView4NETne peut pas vous offrir :

Fusion de fichiers PDF

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

Les filigranes avec 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");

Protection par mot de passe

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

Remplissage de formulaires

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

Traitement côté serveur

PDFView4NET ne peut pas fonctionner dans un environnement serveur.IronPDF excelle dans ce domaine :

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

Résumé de la comparaison des fonctionnalités

FonctionPDFView4NETIronPDF
Voir les PDFOui (UI)Non (utiliser la visionneuse)
Charger les PDFOuiOui
Enregistrer les PDFLimitéOui
HTML vers PDFNonOui
URL vers PDFNonOui
Fusionner des PDFNonOui
Diviser les PDFLimitéOui
FiligranesNonOui
En-têtes/Pieds de pageNonOui
Protection par mot de passeNonOui
Signatures numériquesNonOui
Extraction de texteLimitéOui
Remplir des formulairesLimitéOui
WinFormsOuiOui
WPFOuiOui
ConsoleLimitéOui
ASP.NETNonOui
AzurNonOui
DockerNonOui

Liste de contrôle de la migration

Pré-migration

  • Identifier les besoins en matière de visualisation (déterminer si les fonctionnalités d'IronPDF peuvent remplacer la visualisation de PDF via une interface utilisateur).
  • Flux de travail d'impression de documents
  • Liste des besoins de manipulation de PDF
  • Remplacement du visualiseur de plans si nécessaire (IronPDF se concentre sur la génération/manipulation)
  • Obtenez votre clé de licence IronPDF sur IronPDF

Modifications du paquet

  • Supprimez le package NuGet O2S.Components.PDFView4NET.Win (ou .WPF)
  • Installez le package NuGet IronPdf : dotnet add package IronPdf

Modifications du code

  • Mettez à jour les imports de namespace (using O2S.Components.PDFView4NET;using IronPdf;)
  • Introduisez ChromePdfRenderer pour toute entrée HTML ou URL (aucun équivalent PDFView4NET)
  • Remplacernew PDFDocument(); document.Load(path) with PdfDocument.FromFile(path)
  • Remplacernew PDFDocument(); document.Load(stream) with PdfDocument.FromStream(stream)
  • Replace manual for (int i = 0; i < document.PageCount ; i++) text extraction with pdf.ExtractAllText() (or pdf.ExtractTextFromPage(i))
  • Remplacez document.Close() avec pdf.Dispose() (ou un bloc using)
  • Ajouter l'initialisation de la licence au démarrage de l'application

Après la migration

  • Test de chargement et d'enregistrement de fichiers PDF
  • Vérifier la fonctionnalité d'extraction de texte
  • Tester la conversion de HTML en PDF
  • Vérifier que le déploiement du serveur fonctionne (nouvelle fonctionnalité)
  • Tester la compatibilité multiplateforme si nécessaire (nouvelle fonctionnalité)
  • Supprimer le code PDF spécifique à l'interface utilisateur si uniquement côté serveur

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