IRONSOFTWAREHOME
OUTILS PDF

IronPDF vs Accusoft PDF Viewer : quelle bibliothèque C# est la meilleure pour HTML en PDF ?

Curtis Chau
Curtis Chau
Updated: 19 juillet 2026

IronPDF et Accusoft PDF Viewer convertissent tous deux le HTML en PDF en .NET. IronPDF offre une syntaxe simple, un traitement local sans dépendances cloud, et des conversions illimitées à partir de $999. En revanche, Accusoft nécessite une connectivité internet et facture par transaction.

Comparez IronPDF à Accusoft PDF Viewer

  • Convertir HTML en PDF
  • Définir l'en-tête et le pied de page des PDF
  • Convertir un PDF en fichier image
  • Comparez les licences, les options d'essai gratuit, etc

Vue d'ensemble

Qu'est-ce IronPDF et comment ça fonctionne ?

IronPDF est une bibliothèque C# HTML vers PDF qui permet aux développeurs de créer des fichiers PDF à partir de sources telles que des chaînes HTML , des pages Web et des URL . Il permet également de définir des propriétés telles que le filigrane , le signet , l'en-tête et le pied de page . De plus, les développeurs peuvent fusionner plusieurs fichiers PDF en un seul ou convertir des pages PDF en images , et vice versa, en utilisant la conversion d'images en PDF .

IronPDF est gratuit pour le développement et offre une période d'essai de 30 jours pour le déploiement sur des projets en production. Il fournit une documentation complète, des exemples de code et une référence API pour aider les développeurs à démarrer rapidement.

Les développeurs peuvent télécharger un fichier de projet à partir de ce lien .

Qu'est-ce qu'Accusoft Visionneuse PrizmDoc et comment fonctionne-t-il ?

PrizmDoc Viewer est une API REST qui fonctionne avec les fichiers PDF et les convertit à distance en d'autres formats. PrizmDoc peut convertir plus de 100 formats de fichiers différents en PDF et PDF en PNG, JPG, TIFF, et SVG. Elle offre également diverses options de signature électronique pour les applications.

Comment se comparent IronPDF et Visionneuse PrizmDoc ?

IronPDFVisionneuse PrizmDoc
Work with PDF files programmatically. Travailler avec des fichiers PDF de manière programmatique.
Supports .NET Core with Windows, Mac, or Linux. Prend en charge .NET Core en utilisant Windows, Mac ou Linux.
Works Locally Sends Documents to a remote server.
Work with or without Asynchronous Programming.Vous devez utiliser la programmation asynchrone avec System.Threading.Tasks .
Works offline once installed.Une connexion Internet est requise pour les requêtes au serveur PrizmDoc .
Provides many predefined functions. Fournit quelques fonctions prédéfinies.
Often requires minimal lines of code. La traduction nécessite souvent de nombreuses lignes de code.
Unlimited conversions per project in each license.Transactions limitées pour les licences hébergées dans le cloud.
Free for development without time limits. Transactions limitées avec l'essai.

Installons les deux bibliothèques et comparons le code.


Étape 1 : Installation

Comment installer IronPDF dans mon projet .NET ?

Il existe deux façons d' installer IronPDF dans un projet, sans différence entre les deux approches. IronPDF prend en charge différents environnements, notamment le déploiement Azure , AWS Lambda , les conteneurs Docker et les applications Blazor .

Quelles sont les différentes façons de télécharger IronPDF?

Téléchargez le fichier IronPDF et ajoutez sa référence au projet. Les développeurs peuvent également utiliser Windows Installer pour une installation à l'échelle du système. Après cela, l'espace de noms IronPDF devient accessible en utilisant :

using IronPdf;

Les développeurs peuvent désormais accéder facilement aux fonctions et classes fournies par IronPDF, notamment ChromePdfRenderer pour le rendu, la manipulation de documents PDF et les fonctionnalités de sécurité .

Comment installer IronPDF via le gestionnaire de packages NuGet ?


Comment installer Visionneuse PrizmDoc d'Accusoft ?

Visionneuse PrizmDoc a deux parties : le composant côté serveur appelé PrizmDoc Server qui se comporte comme une API RESTful, et le projet client qui envoie les requêtes à l'API et reçoit les réponses. Contrairement à IronPDF qui fonctionne localement sans dépendances externes, PrizmDoc nécessite une connectivité réseau pour les opérations basées sur le cloud.

Comment puis-je accéder au serveur PrizmDoc ?

PrizmDoc Server est une application côté serveur qui reçoit des informations de base avec des documents en tant que requêtes (entrée) et convertit les documents en fichiers PDF, puis renvoie les fichiers PDF convertis comme réponses (sortie). Il constitue le cœur technique du produit : un moteur de traitement et de conversion de documents. Les développeurs peuvent l'utiliser de deux manières différentes, toutes deux reposant sur la même structure et les mêmes techniques de programmation :

  1. Auto-hébergé :

Cette option nécessite la mise en place d'un serveur. Téléchargez PrizmDoc Server puis installez-le. En savoir plus sur comment installer PrizmDoc Server sur Windows.

Remarque : Le serveur PrizmDoc auto-hébergé nécessite des ressources mémoire et de traitement importantes — consultez le guide de dimensionnement d'Accusoft pour les besoins actuels. En revanche, les exigences système d'IronPDF sont beaucoup plus modestes.

  1. Hébergé sur Cloud:

Ce service basé sur le cloud élimine le besoin de mettre en place un serveur. Pour utiliser cette option, créez un compte et copiez le API key depuis le menu API Key sur la page d'accueil.

Tout d'abord, examinons la structure de base pour travailler avec Visionneuse PrizmDoc pour convertir des documents en fichiers PDF en interagissant directement avec Accusoft server utilisant WebClient() dans une application Console C#.

Remarque : L'exemple suivant démontre comment PrizmDoc gère conceptuellement les fichiers PDF. Il est long, vous pouvez donc sauter cet exemple et passer directement à la comparaison .

Comment fonctionne la structure de travail d'Accusoft ?

Cet exemple convertit myWebpage.html en sample.pdf. Contrairement à la conversion directe de HTML en PDF d'IronPDF, PrizmDoc nécessite plusieurs appels API.

Remarque : La bibliothèque Newtonsoft.Json doit être installée et référencée dans le projet.

Commencez par ajouter les bibliothèques suivantes au projet :

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq; // Install Newtonsoft.Json via NuGet Package Manager

Ensuite, créez une variable publique Accusoft API Key et collez la clé API dedans :

static string ApiKey = "Your-API-KEY";

Il y a 3 étapes pour gérer les fichiers PDF en utilisant Visionneuse PrizmDoc :

  1. Téléchargez un fichier sur le serveur PrizmDoc.
  2. Convertissez le fichier téléchargé.
  3. Téléchargez le fichier converti depuis le serveur PrizmDoc.

Chaque étape est gérée par une fonction distincte :

static void Main(string[] args)
{
    //---Upload file to Server---
    JObject uploadResults = UploadToServer("myWebpage.html").Result;
    string fileID = (string)uploadResults.SelectToken("fileId");
    string affinityToken = (string)uploadResults.SelectToken("affinityToken");

    //---Convert the uploaded file to PDF---
    JObject convertResults = Convert(affinityToken, fileID).Result;
    string processId = (string)convertResults.SelectToken("processId");
    affinityToken = (string)convertResults.SelectToken("affinityToken");

    //---Check the status that conversion is completed---
    JObject convertStatusResults = ConvertStatus(processId, affinityToken).Result;
    string convertStatus = (string)convertStatusResults.SelectToken("state");

    //---Continuously checking whether conversion completed---
    while (!(convertStatus.Equals("complete")))
    {
        System.Threading.Thread.Sleep(30000);
        convertStatusResults = ConvertStatus(processId, affinityToken).Result;
        convertStatus = (string)convertStatusResults.SelectToken("state");
    }

    //---Download the converted file from server---
    string newFileID = (string)convertStatusResults.SelectToken("output.results[0].fileId");
    DownloadFromServer(affinityToken, newFileID, "sample.pdf").Wait();

    Console.WriteLine("PDF file created successfully...!");
    Console.ReadKey();
}

1. Télécharger le fichier sur le serveur:

public static async Task<JObject> UploadToServer(string fileToUpload)
{
    FileInfo input = new FileInfo(fileToUpload);
    if (input == null)
    {
        throw new ArgumentException("Missing parameter input", nameof(input));
    }
    var fileName = input.Name;
    var endpoint = new Uri("___PROTECTED_URL_123___");
    using (var client = new WebClient())
    {
        client.Headers.Add("acs-api-key", ApiKey);
        client.Headers.Add("Content-Type", "application/octet-stream");
        using (var reader = new BinaryReader(input.OpenRead()))
        {
            var data = reader.ReadBytes((int)reader.BaseStream.Length);
            var results = await client.UploadDataTaskAsync(endpoint, "POST", data);
            string getResult = Encoding.ASCII.GetString(results);
            return JObject.Parse(getResult);
        }
    }
}

2. convertir le fichier téléchargé en PDF:

public static async Task<JObject> Convert(string affinityToken, string fileID)
{
    var endpoint = new Uri("___PROTECTED_URL_124___");
    using (var client = new WebClient())
    {
        client.Headers.Add("Content-Type", "application/json");
        client.Headers.Add("acs-api-key", ApiKey);
        client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
        JObject myJson =
            new JObject(
                new JProperty("input",
                    new JObject(
                        new JProperty("sources",
                            new JArray(
                                new JObject(
                                    new JProperty("fileId", fileID)
                                )
                            )
                        ),
                        new JProperty("dest",
                            new JObject(
                                new JProperty("format", "pdf")
                            )
                        )
                    )
                )
            );
        string results = await client.UploadStringTaskAsync(endpoint, "POST", myJson.ToString());
        return JObject.Parse(results);
    }
}

Le JSON suivant est la valeur résultante de l'objet myJson :

{
  "input": {
    "sources": 
    [
      {"fileId": "Auto Generated FileId Value"}
    ],
    "dest": {
      "format": "pdf"
    }
  }
}
JSON

Vérifier si la conversion est terminée ou non

public static async Task<JObject> ConvertStatus(string processId, string affinityToken)
{
    string endpoint = "___PROTECTED_URL_125___" + processId;
    using (var client = new WebClient())
    {
        client.BaseAddress = endpoint;
        client.Headers.Add("acs-api-key", ApiKey);
        client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
        string results = await client.DownloadStringTaskAsync(endpoint);
        return JObject.Parse(results);
    }
}

3. Téléchargez le fichier converti à partir du serveur

public static async Task DownloadFromServer(string affinityToken, string fileId, string outfile)
{
    var endpoint = new Uri("___PROTECTED_URL_126___" + fileId);

    using (var client = new WebClient())
    {
        client.Headers.Add("acs-api-key", ApiKey);
        client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
        FileInfo output = new FileInfo(outfile);

        using (var writeStream = output.Create())
        {
            var results = await client.DownloadDataTaskAsync(endpoint);
            await writeStream.WriteAsync(results, 0, results.Length);
        }
    }
}

L'exemple ci-dessus exige un effort considérable. Pour minimiser la charge de travail, Accusoft a introduit une bibliothèque .NET nommée Accusoft.PrizmDocServerSDK, un wrapper autour de l'API REST du serveur PrizmDoc. Examinons comment installer et utiliser cette bibliothèque dans les projets .NET .

Comment installer le kit de développement logiciel Accusoft PrizmDocServer ?

Il existe deux façons d'installer le wrapper.

  • Console du Package Manager :

    Si vous utilisez la console du gestionnaire de packages, exécutez la commande suivante :

    _CODEBLOCK_10 _

  • Gérer les paquets pour la solution :

    Si vous utilisez l'interface graphique du gestionnaire de packages NuGet, recherchez Accusoft.PrizmDocServerSDK dans la barre de recherche et installez-le.

Désormais, les développeurs peuvent facilement accéder à l'espace de noms Accusoft.PrizmDocServer et l'utiliser :

using Accusoft.PrizmDocServer;

Tutoriels pratiques

Comment IronPDF et Visionneuse PrizmDoc se comparent-ils dans des exemples de code ?

Après avoir passé en revue l'introduction et l'installation des deux composants, il est temps de les utiliser. Les cas d'utilisation suivants démontrent l'implémentation en utilisant les deux composants pour aider à comprendre les structures de programmation et déterminer lequel convient aux besoins du projet.


Comment convertir HTML en PDF en utilisant IronPDF vs Visionneuse PrizmDoc ?

Pour cette comparaison, convertissons une page web nommée myWebPage.html en un fichier PDF et sauvegardons-le à l'emplacement cible. Le moteur de rendu Chrome d'IronPDF offre une conversion au pixel près avec une prise en charge complète des CSS , JavaScript et des polices Web .

Comment IronPDF convertit-il le HTML en PDF ?

using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var converter = new ChromePdfRenderer();
    // Render HTML file to PDF
    using var PDF = converter.RenderHTMLFileAsPdf("myWebPage.html");
    // Save to target location
    PDF.SaveAs("sample.pdf");
}

Le code ci-dessus crée un fichier sample.pdf et le sauvegarde dans le dossier bin>debug du projet. IronPDF prend également en charge les chaînes HTML , les URL et même les fichiers ZIP contenant du HTML comme sources d'entrée.

Les développeurs peuvent également spécifier n'importe quel chemin comme ceci : PDF.SaveAs("E:/sample.pdf"); ou sauvegarder dans un flux de mémoire pour les déploiements cloud.

Pour en savoir plus sur l'utilisation d' IronPDF pour la gestion des fichiers PDF, consultez la documentation.

Maintenant, réalisons la même tâche en utilisant Visionneuse PrizmDoc pour comparaison.

Comment Visionneuse PrizmDoc convertit-il HTML en PDF ?

Dans la section d'installation du Visionneuse PrizmDoc, l'obtention du Accusoft API Key a été discutée. Voici comment l'utiliser.

Tout d'abord, envoyez une requête au serveur PrizmDoc et recevez une réponse. Ce processus prend du temps et nécessite une programmation asynchrone . IronPDF prend également en charge les méthodes asynchrones pour des performances améliorées.

Remarque : Assurez-vous que le système est connecté à internet lors de la création de fichiers PDF à l'aide des services cloud de Visionneuse PrizmDoc.

using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    ChromePdfRenderer().GetAwaiter().GetResult();
}

private static async Task ChromePdfRenderer()
{
    // Instantiate PrizmDocServerClient object
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_127___", "Your-API-KEY");
    // Specify HTML file and convert it to a PDF.
    ConversionResult result = await prizmDocServer.ConvertToPdfAsync("myWebPage.html");
    // Save PDF file to the target location
    await result.RemoteWorkFile.SaveAsync("sample.pdf");
}

En savoir plus sur travailler avec Visionneuse PrizmDoc.

Quelle bibliothèque offre la conversion HTML vers PDF la plus simple ?

Ces exemples démontrent IronPDF offre une approche plus simple et plus rapide pour la création de fichiers PDF. IronPDF propose également des options de rendu permettant d'affiner le rendu, notamment des formats de papier personnalisés , des marges et des paramètres d'affichage .


Comment convertir des images en PDF en utilisant IronPDF vs Visionneuse PrizmDoc ?

Cette comparaison démontre comment créer un fichier PDF à partir d'une Image située dans le dossier debug du projet. Les développeurs commencent avec IronPDF.

Comment IronPDF convertit-il les images en PDF ?

using IronPdf;

static void Main(string[] args)
{
    // Specify the image to be converted
    using var converted = ImageToPdfConverter.ImageToPdf("google.png");
    // Save PDF file to the target location
    converted.SaveAs("sample.pdf");
}

IronPDF prend également en charge la conversion TIFF multi-images , l'intégration d'images provenant d'Azure Blob Storage et l'intégration d'images Base64 .

Sortie :

Cette capture d'écran montre le fichier PDF nouvellement créé sample.pdf en utilisant le code ci-dessus :

Document PDF affichant le logo Google centré sur un fond blanc, illustrant les capacités de conversion d'images en PDF d'IronPDF

Créer un fichier PDF à partir d'une image avec IronPDF est simple. Maintenant, réalisons la même tâche en utilisant Visionneuse PrizmDoc et examinons son fichier PDF généré.

Comment Visionneuse PrizmDoc convertit-il des images en PDF ?

using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    ImageToPDF().GetAwaiter().GetResult();
}

private static async Task ImageToPDF()
{
    // Instantiate PrizmDocServerClient object
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_128___", "Your-API-KEY");
    // Specify the image to be converted
    ConversionResult results = await prizmDocServer.ConvertToPdfAsync("google.png");
    // Save PDF file to the target location
    await results.RemoteWorkFile.SaveAsync("sample.pdf");
}

Sortie : Cette capture d'écran montre le fichier PDF nouvellement créé sample.pdf à partir du code ci-dessus :

PDF viewer displaying the Google logo on a gray background, showing `PrizmDoc`'s image conversion result

Quelle bibliothèque nécessite le moins de code pour la conversion d'images en PDF ?

IronPDF ne nécessite que deux lignes de code. En revanche, l'utilisation du serveur PrizmDoc implique plus de lignes de code avec une programmation asynchrone. Le fichier de sortie d' IronPDF génère également automatiquement un document pleine page utilisable. IronPDF offre des options supplémentaires pour le positionnement des images et les conversions d'images multiples .


Comment fusionner plusieurs fichiers PDF en utilisant IronPDF vs Visionneuse PrizmDoc ?

Pour cette comparaison, supposons que trois fichiers PDF existent nommés A.pdf, B.pdf, et C.pdf. La tâche consiste à les fusionner en un seul fichier PDF . Les deux composants peuvent effectuer cette tâche. Tout d'abord, l'exemple montre comment réaliser cela en utilisant IronPDF.

Comment IronPDF fusionne-t-il les fichiers PDF ?

using IronPdf;
using System.Collections.Generic;

static void Main(string[] args)
{
    // Create rendering converter  
    var Renderer = new IronPdf.ChromePdfRenderer();
    // Create a list of pdf files
    var PDFs = new List<PdfDocument>();
    PDFs.Add(PdfDocument.FromFile("A.pdf"));
    PDFs.Add(PdfDocument.FromFile("B.pdf"));
    PDFs.Add(PdfDocument.FromFile("C.pdf"));
    // Merge the list of pdf file
    using PdfDocument PDF = PdfDocument.Merge(PDFs);
    // Save merged file to the target location
    PDF.SaveAs("sample.pdf");

    foreach(var pdf in PDFs)
    {
        pdf.Dispose();
    }
}

Le code ci-dessus crée un fichier sample.pdf, qui combine A.pdf, B.pdf, et C.pdf. IronPDF prend également en charge l'ajout et la copie de pages entre les fichiers PDF ainsi que la division des fichiers PDF .

Maintenant, effectuons la même tâche en utilisant Visionneuse PrizmDoc.

Comment le Visionneuse PrizmDoc fusionne-t-il les fichiers PDF ?

using System.Threading.Tasks;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    PdfMerge().GetAwaiter().GetResult();
}

private static async Task PdfMerge()
{
    // Instantiate PrizmDocServerClient object
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_129___", "Your-API-KEY");
    // Pass the list of pdf files to PrizmDoc Server
    ConversionResult result = await prizmDocServer.CombineToPdfAsync(
        new []
        {
            new ConversionSourceDocument("A.pdf"),
            new ConversionSourceDocument("B.pdf"),
            new ConversionSourceDocument("C.pdf"),
        });
    // Save merged file to the target location
    await result.RemoteWorkFile.SaveAsync("sample.pdf");
}

Le code ci-dessus crée également un fichier sample.pdf, qui combine les fichiers A.pdf, B.pdf, et C.pdf.


Comment ajouter des en-têtes et pieds de page aux PDF en utilisant IronPDF par rapport à Visionneuse PrizmDoc ?

Pour cette comparaison, supposons qu'un simple WebPage nommé myWebPage.html existe avec les HTML et CSS suivants :

<html>
<head>
    <style>
        li {
            font-size: x-large;
            color: rgba(156, 89, 13, 0.897);
            list-style: square;
        }
    </style>
</head>
<body>
    <h1 style="text-align: center;">Hello World..!</h1>
    <h1>Main Menu</h1>
    <ul>
        <li>SubMenu 1</li>
        <li>SubMenu 2</li>
        <li>SubMenu 3</li>
        <li>SubMenu 4</li>
        <li>SubMenu 5</li>
    </ul>
</body>
</html>
HTML

L'objectif est de convertir ce WebPage en un fichier PDF avec les propriétés En-tête et Pied de page suivantes :

  • Page Title à gauche de l'en-tête
  • DateTime à droite de l'en-tête
  • Page Number of Total Pages à droite du pied de page

Tout d'abord, examinons comment IronPDF gère les en-têtes et les pieds de page.

Comment IronPDF gère-t-il les en-têtes et pieds de page des fichiers PDF ?

Pour gérer les en-têtes et pieds de page des fichiers PDF, IronPDF fournit une propriété sur la classe ChromePdfRenderer nommée RenderingOptions qui peut être utilisée comme suit :

  • Pour l'en-tête:

    _CODEBLOCK_19 _

  • Pour le pied de page:

    _CODEBLOCK_20 _

Les propriétés suivantes peuvent être définies lors de l'initialisation de TextHeaderFooter() :

  • CenterText pour imprimer du texte au centre de l'en-tête ou du pied de page
  • LeftText pour imprimer du texte à gauche de l'en-tête ou du pied de page
  • RightText pour imprimer du texte à droite de l'en-tête ou du pied de page
  • DrawDividerLine trace une ligne séparant le contenu de la page de l'en-tête ou du pied de page
  • FontFamily pour spécifier la famille de polices de l'en-tête ou du pied de page
  • FontSize pour spécifier la taille de police de l'en-tête ou du pied de page
  • L'espacement ajuste l'espace entre le contenu de la page et l'en-tête ou le pied de page.

Les attributs prédéfinis suivants permettent de définir le contenu de l'en-tête ou du pied de page. Elles sont écrites entre accolades { } :

  • {page} affiche le numéro de la page actuelle dans l'en-tête ou le pied de page.
  • {total-pages} affiche le nombre total de pages dans l'en-tête ou le pied de page.
  • {url} affiche l'URL de la page rendue
  • {date} affiche la date actuelle dans l'en-tête ou le pied de page
  • {time} affiche l'heure actuelle dans l'en-tête ou le pied de page
  • {html-title} affiche le titre de la page web rendue dans l'en-tête ou le pied de page.
  • {pdf-title} imprime le titre du document dans l'en-tête ou le pied de page

Pour en savoir plus sur l'utilisation des en-têtes et des pieds de page avec IronPDF, consultez la documentation. IronPDF prend également en charge les en-têtes et pieds de page HTML pour les mises en page plus complexes.

L'exemple suivant illustre la mise en œuvre du cas d'utilisation et démontre comment utiliser les propriétés ci-dessus :

using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var converter = new ChromePdfRenderer();
    // Setting Header properties
    converter.RenderingOptions.TextHeader = new TextHeaderFooter()
    {
        DrawDividerLine = true,
        LeftText = "Page Title",
        RightText = "{date} {time}",
        FontSize = 13
    };
    // Setting footer properties
    converter.RenderingOptions.TextFooter = new TextHeaderFooter()
    {
        RightText = "Page {page} of {total-pages}",
        FontSize = 12
    };
    // Specify the file to be converted
    using var PDF = converter.RenderHTMLFileAsPdf("myWebPage.html");
    // Save to target location
    PDF.SaveAs("sample.pdf");
}

Sortie : La capture d'écran du fichier PDF nouvellement créé sample.pdf par le code ci-dessus :

Document PDF avec en-tête personnalisé affichant le titre de la page et la date/l'heure, illustrant les fonctionnalités d'en-tête et de pied de page d'IronPDF

L'utilisation IronPDF pour la gestion des en-têtes et des pieds de page implique un langage intuitif lors de la création de fichiers PDF. Maintenant, l'exemple montre comment Visionneuse PrizmDoc gère les en-têtes et pieds de page.

Comment le Visionneuse PrizmDoc gère-t-il les en-têtes et pieds de page PDF ?

Le Visionneuse PrizmDoc fournit la classe HeaderFooterOptions pour traiter les en-têtes et pieds de page, avec les propriétés suivantes :

  • Lines spécifie la ou les lignes d'en-tête et de pied de page, chaque ligne ayant les propriétés suivantes :
    • Gauche imprime le texte à gauche de la ligne d'en-tête ou de pied de page
    • Centrer imprime le texte au centre de la ligne d'en-tête ou de pied de page
    • Droite imprime le texte à droite de la ligne d'en-tête ou de pied de page
  • FontFamily pour spécifier la famille de polices du texte de l'en-tête ou du pied de page
  • FontSize pour spécifier la taille de la police du texte de l'en-tête ou du pied de page
  • Couleur pour spécifier la couleur du texte d'en-tête ou de pied de page

En savoir plus sur la configuration des en-têtes et pieds de page des pages PDF en utilisant le serveur PrizmDoc.

L'exemple montre comment mettre en œuvre le cas d'utilisation en utilisant les propriétés ci-dessus :

using System.Threading.Tasks;
using System.Collections.Generic;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    SetHeaderFooter().GetAwaiter().GetResult();
}

private static async Task SetHeaderFooter()
{
    // Instantiate PrizmDocServerClient object with Header and footer properties
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_130___", "Your-API-KEY");
    
    ConversionResult result = await prizmDocServer.ConvertToPdfAsync(
        "myWebPage.html",
        header: new HeaderFooterOptions
        {
            Lines = new List<HeaderFooterLine>
            {
                new HeaderFooterLine { Left = "Page Title", Right = DateTime.Now.ToString() }
            },
        },
        footer: new HeaderFooterOptions
        {
            Lines = new List<HeaderFooterLine>
            {
                new HeaderFooterLine { Right = "Page {{pageNumber}} of {{pageCount}}" },
            },
        });
    
    // Save to the target location
    await result.RemoteWorkFile.SaveAsync("sample.pdf");
}

Sortie :

Capture d'écran du fichier PDF nouvellement créé par le code ci-dessus :

PDF with header showing 'Page Title' and timestamp, comparing `PrizmDoc`'s header/footer implementation

Quelle bibliothèque offre le plus de flexibilité pour les en-têtes et les pieds de page ?

IronPDF offre plus de fonctions pour définir les propriétés d'en-tête et de pied de page avec une structure de programmation simple par rapport à Visionneuse PrizmDoc. Le fichier PDF généré par IronPDF est également plus lisible et attrayant que le fichier généré par Visionneuse PrizmDoc. IronPDF prend également en charge les numéros de page et les sauts de page pour un meilleur contrôle des documents.


Comment convertir des pages PDF en images en utilisant IronPDF par rapport à Visionneuse PrizmDoc ?

Pour cette comparaison, supposons que vous ayez un simple fichier PDF nommé Sample_PDF.pdf avec deux pages.

Page 1Page 2
Visionneuse PDF affichant la page 1 d'un exemple de PDF avec du texte Lorem ipsum et les commandes standard d'une visionneuse
Visionneuse PDF affichant la page 2 d'un exemple de PDF avec du texte Lorem ipsum et des commandes de navigation

La tâche consiste à créer une image de chaque page . Tout d'abord, l'exemple montrera comment réaliser cela en utilisant IronPDF.

Comment IronPDF convertit-il les pages PDF en images ?

using IronPdf;

static void Main(string[] args)
{
    // Specify file to be converted
    var pdf = PdfDocument.FromFile("Sample_PDF.pdf");
    // Save images to the target location
    pdf.RasterizeToImageFiles("image_*.png");
}

IronPDF prend également en charge l'enregistrement des images dans un flux de mémoire et différents formats d'image, notamment JPEG, TIFF, et bien d'autres.

Sortie :

Le code ci-dessus crée les deux images .png suivantes :

Page 1 ImagePage 2 Image
Image PNG générée à partir de la page 1 du PDF montrant le contenu du tutoriel Virtual Mechanics avec un rendu de texte clair.
Image PNG générée à partir de la page 2 du PDF montrant la suite du texte avec la qualité de rastérisation d'IronPDF

Créer des images de pages PDF avec IronPDF est simple. Maintenant, effectuons la même tâche en utilisant Visionneuse PrizmDoc.

Comment le Visionneuse PrizmDoc convertit-il les pages PDF en images ?

using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    PdfToImage().GetAwaiter().GetResult();
}

private static async Task PdfToImage()
{
    // Instantiate PrizmDocServerClient object
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_131___", "Your-API-KEY");
    // Convert PDF file to images
    IEnumerable<ConversionResult> results = await prizmDocServer.ConvertAsync("Sample_PDF.pdf", DestinationFileFormat.Png);
    
    // Save each image.
    for (int i = 0; i < results.Count(); i++)
    {
        await results.ElementAt(i).RemoteWorkFile.SaveAsync($"page-{i + 1}.png");
    }
}

Sortie :

Le code ci-dessus crée également les deux images .png suivantes :

Page 1Page 2
Image PNG générée à partir de la page 1 du PDF en utilisant le service de conversion de PrizmDoc avec du contenu texte d'exemple
Image PNG générée à partir de la page 2 montrant la qualité de conversion d'image de PrizmDoc

Quelle bibliothèque facilite la conversion de PDF en image ?

Comparé à Visionneuse PrizmDoc, IronPDF permet aux développeurs de créer facilement des images de chaque page avec un minimum de lignes de code, même sans itérer à travers les pages.


Puis-je utiliser les tableaux de données Bootstrap 5 avec IronPDF?

Le moteur de rendu Chrome V8 d'IronPDF offre une excellente prise en charge des tableaux de données Bootstrap 5 , permettant aux développeurs de générer des rapports PDF Professional avec des mises en page tabulaires complexes. Cet exemple démontre des en-têtes en dégradé, des badges de statut, des contrôles de pagination, et des métriques de synthèse - des fonctionnalités qui mettent en avant l'avantage d'IronPDF sur les visionneurs PDF traditionnels comme PrizmDoc. IronPDF prend entièrement en charge les fonctionnalités CSS modernes, notamment les mises en page flexbox , les dégradés et la conception réactive .

using IronPdf;

var renderer = new ChromePdfRenderer();

string dataTableReport = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='___PROTECTED_URL_132___ rel='stylesheet'>
    <style>
        .table-header {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            padding: 30px;
            border-radius: 10px 10px 0 0;
        }
        .table-container {
            background: white;
            border-radius: 0 0 10px 10px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            overflow: hidden;
        }
        .table th {
            background: #f8f9fa;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 0.5px;
        }
        .status-badge {
            padding: 0.35em 0.65em;
            border-radius: 0.25rem;
            font-weight: 600;
            font-size: 0.75rem;
        }
        .trend-positive { color: #198754; font-weight: 700; }
        .trend-negative { color: #dc3545; font-weight: 700; }
        @media print {
            .table-container { page-break-inside: avoid; }
        }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-5'>
        <div class='table-container'>
            <div class='table-header'>
                <div class='row align-items-center'>
                    <div class='col-md-8'>
                        <h2 class='mb-2'>Sales Performance Report</h2>
                        <p class='mb-0 opacity-75'>Q4 2024 Regional Analysis</p>
                    </div>
                    <div class='col-md-4 text-end'>
                        <div class='btn-group btn-group-sm'>
                            <button class='btn btn-light'>Export</button>
                            <button class='btn btn-light'>Filter</button>
                            <button class='btn btn-light'>Sort</button>
                        </div>
                    </div>
                </div>
            </div>

            <div class='p-4'>
                <div class='row mb-3'>
                    <div class='col-md-4'>
                        <input type='text' class='form-control form-control-sm' placeholder='Search regions...'>
                    </div>
                    <div class='col-md-8 text-end'>
                        <span class='text-muted small'>Showing 1-10 of 48 results</span>
                    </div>
                </div>

                <div class='table-responsive'>
                    <table class='table table-hover align-middle'>
                        <thead>
                            <tr>
                                <th>Region</th>
                                <th>Revenue</th>
                                <th>Units Sold</th>
                                <th>Growth</th>
                                <th>Status</th>
                                <th>Action</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td>
                                    <strong>North America</strong><br>
                                    <small class='text-muted'>USA, Canada, Mexico</small>
                                </td>
                                <td>$4,280,000</td>
                                <td>12,450</td>
                                <td><span class='trend-positive'>↑ 18.5%</span></td>
                                <td><span class='status-badge bg-success text-white'>Exceeding</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                            <tr>
                                <td>
                                    <strong>Europe</strong><br>
                                    <small class='text-muted'>EU, UK, Switzerland</small>
                                </td>
                                <td>$3,650,000</td>
                                <td>10,890</td>
                                <td><span class='trend-positive'>↑ 12.3%</span></td>
                                <td><span class='status-badge bg-success text-white'>On Track</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                            <tr>
                                <td>
                                    <strong>Asia Pacific</strong><br>
                                    <small class='text-muted'>Japan, Australia, Singapore</small>
                                </td>
                                <td>$2,940,000</td>
                                <td>8,320</td>
                                <td><span class='trend-positive'>↑ 24.7%</span></td>
                                <td><span class='status-badge bg-primary text-white'>Growing</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                            <tr>
                                <td>
                                    <strong>Latin America</strong><br>
                                    <small class='text-muted'>Brazil, Argentina, Chile</small>
                                </td>
                                <td>$1,580,000</td>
                                <td>4,670</td>
                                <td><span class='trend-positive'>↑ 8.9%</span></td>
                                <td><span class='status-badge bg-info text-white'>Stable</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                            <tr>
                                <td>
                                    <strong>Middle East</strong><br>
                                    <small class='text-muted'>UAE, Saudi Arabia, Israel</small>
                                </td>
                                <td>$980,000</td>
                                <td>2,890</td>
                                <td><span class='trend-negative'>↓ 3.2%</span></td>
                                <td><span class='status-badge bg-warning text-dark'>Review</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                        </tbody>
                        <tfoot class='table-light'>
                            <tr>
                                <td><strong>Total</strong></td>
                                <td><strong>$13,430,000</strong></td>
                                <td><strong>39,220</strong></td>
                                <td><strong class='trend-positive'>↑ 14.8%</strong></td>
                                <td colspan='2'></td>
                            </tr>
                        </tfoot>
                    </table>
                </div>

                <div class='d-flex justify-content-between align-items-center mt-4'>
                    <div>
                        <select class='form-select form-select-sm' style='width: auto; display: inline-block;'>
                            <option>10 per page</option>
                            <option>25 per page</option>
                            <option>50 per page</option>
                        </select>
                    </div>
                    <nav>
                        <ul class='pagination pagination-sm mb-0'>
                            <li class='page-item disabled'><a class='page-link' href='#'>Previous</a></li>
                            <li class='page-item active'><a class='page-link' href='#'>1</a></li>
                            <li class='page-item'><a class='page-link' href='#'>2</a></li>
                            <li class='page-item'><a class='page-link' href='#'>3</a></li>
                            <li class='page-item'><a class='page-link' href='#'>Next</a></li>
                        </ul>
                    </nav>
                </div>
            </div>
        </div>

        <div class='row g-3 mt-4'>
            <div class='col-md-3'>
                <div class='card text-center'>
                    <div class='card-body'>
                        <h3 class='text-primary mb-1'>$13.4M</h3>
                        <small class='text-muted'>Total Revenue</small>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center'>
                    <div class='card-body'>
                        <h3 class='text-success mb-1'>39,220</h3>
                        <small class='text-muted'>Units Sold</small>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center'>
                    <div class='card-body'>
                        <h3 class='text-info mb-1'>14.8%</h3>
                        <small class='text-muted'>Growth Rate</small>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center'>
                    <div class='card-body'>
                        <h3 class='text-warning mb-1'>5</h3>
                        <small class='text-muted'>Active Regions</small>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(dataTableReport);
pdf.SaveAs("data-table-report.pdf");

Ce code génère un rapport de tableau de données sophistiqué avec des en-têtes en dégradé, des tableaux réactifs, des badges d'état et des métriques récapitulatives. Le moteur de rendu Chrome d'IronPDF préserve l'intégralité du style Bootstrap, y compris les effets de survol des tableaux, les couleurs des badges et les commandes de pagination — des fonctionnalités qui vont au-delà des visionneuses PDF traditionnelles. Le moteur prend également en charge le rendu JavaScript pour le contenu dynamique, les polices personnalisées et les caractères internationaux UTF-8 .

Principaux avantages par rapport à Visionneuse PrizmDoc :

Pour plus de détails sur la génération de PDF Bootstrap, consultez la documentation complète sur le rendu . Les développeurs peuvent également explorer la conversion Angular en PDF et d'autres prises en charge de frameworks JavaScript.## Comment les coûts de licence se comparent-ils entre IronPDF et Visionneuse PrizmDoc ?

Après avoir examiné la structure technique et les fonctions disponibles des deux composants, voici le détail des tarifs de licence. Ceci est crucial car les développeurs cherchent à répondre aux exigences tout en respectant les contraintes budgétaires.

Quelles sont les options de licence d'IronPDF ?

Les licences IronPDF commencent à $999 pour un seul développeur. IronPDF propose des options de licence flexibles, notamment des licences de développement, des licences de déploiement et des options d'extension pour un support et des mises à jour continus.

Pour les développeurs dans des entreprises ou agences servant plusieurs clients, IronPDF offre des licences échelonnées qui peuvent être ajustées en fonction de la taille de l'équipe et du nombre de projets. IronPDF propose des options de mise à niveau de licence en fonction de l'évolution des besoins.

Tous les packages de licences IronPDF incluent 1 an de support et mises à jour. En savoir plus sur les packages de licences, les niveaux, et les tarifs disponibles. Les développeurs peuvent également appliquer les clés de licence de différentes manières, notamment via le fichier Web.config et les variables d'environnement.

Quelles sont les options de licences de Visionneuse PrizmDoc ?

Quel est le coût d'une PrizmDoc auto-hébergée ?

Le serveur auto-hébergé PrizmDoc est disponible sous une licence annuelle. Contactez Accusoft pour les tarifs actuels et les forfaits disponibles pour Visionneuse PrizmDoc.

Combien coûte PrizmDoc solution basée sur le cloud ?

Cette licence couvre les services cloud de Visionneuse PrizmDoc, échelonnés en fonction du nombre de transactions.

Terminologies:

Transaction se réfère à l'envoi d'une requête au serveur Visionneuse PrizmDoc et à la réception de la sortie (document résultant).

Prepaid Buckets signifie payer une fois et recevoir des transactions qui n'expirent pas.

La tarification cloud est basée sur l'utilisation et s'adapte au volume de transactions. Contactez Accusoft pour connaître les niveaux et les tarifs actuels de tarification cloud.


Accès rapide au tutoriel

Obtenir le manuel de démarrage rapide d'IronPDF C#

Un guide de ressources PDF gratuit qui simplifie le développement de PDF for .NET, avec des explications détaillées des fonctions courantes et des exemples pour manipuler, modifier, générer et enregistrer des PDF en C# et VB .NET pour les projets.

Télécharger le guide

Explorer la référence de l'API IronPDF

Explorez la documentation de référence de l'API pour la bibliothèque IronPDF C#, qui comprend des détails sur toutes les fonctionnalités, classes, champs de méthode, espaces de noms et énumérations d'IronPDF.

Voir la référence API
Please note: Le Visionneuse PrizmDoc d'Accusoft est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, soutenu ou sponsorisé par le Visionneuse PrizmDoc d'Accusoft. 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
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

Related Articles

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
  • 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 related to IronPDF Product Demo

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