Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une Comparaison Entre IronPDF & Apryse C#

1. Introduction

En tant que développeurs C#, traiter des PDF est une partie courante de notre travail, surtout lors de la création d'applications qui doivent générer, éditer ou afficher des documents. C'est pourquoi disposer d'une bonne bibliothèque PDF est crucial. Ces bibliothèques nous font gagner du temps et nous évitent des tracas en fournissant des fonctions intégrées pour des tâches complexes telles que la conversion de documents, l'édition de texte et la gestion d'images dans les PDF. Sans elles, nous devrions écrire tout ce code à partir de zéro, ce qui est non seulement chronophage mais aussi sujet aux erreurs.

In this comparison, we're looking at two popular PDF libraries: IronPDF and Apryse C#. IronPDF est connu pour ses fonctionnalités robustes qui facilitent le travail avec les PDF dans un environnement .NET, de la conversion HTML en PDF à l'édition avancée de documents. Apryse C#, en revanche, offre une approche simplifiée de la manipulation de PDF, en se concentrant sur la facilité d'utilisation et l'efficacité. Nous examinerons les spécificités de ce que chaque bibliothèque offre pour vous aider à décider laquelle pourrait être la mieux adaptée à votre projet.

2. Apryse C#

Comparaison entre IronPDF et Apryse C# : Figure 1 - page web Apryse C#

Apryse C# est une bibliothèque PDF complète pour les applications .NET, conçue pour simplifier le processus de manipulation de PDF dans des environnements C#. Elle était auparavant connue sous le nom de PDFTron SDK. Sa large gamme de fonctionnalités et d'outils en fait un atout inestimable pour les développeurs cherchant à gérer des PDF avec précision et facilité.

2.1 Caractéristiques clés

  • Intégration facile avec les projets .NET : Apryse C# offre une intégration transparente avec .NET, y compris les applications ASP.NET Core et .NET Framework traditionnelles. Cela garantit aux développeurs de pouvoir intégrer des fonctionnalités PDF directement dans leurs projets sans configuration ou installation poussée.
  • Création et édition de documents : Les développeurs peuvent créer des PDF à partir de zéro ou éditer ceux existants à l'aide d'Apryse C#. Cela inclut l'ajout de texte, d'images et de formulaires, ainsi que la manipulation des pages PDF—comme le réordonnancement, la fusion ou la division de documents—directement dans leurs applications.
  • Conversion de HTML en PDF : Avec Apryse C#, convertir le contenu HTML en format PDF est simple. Cette fonctionnalité est particulièrement utile pour générer des factures, des rapports et d'autres documents à partir de pages web ou de modèles HTML.
  • Soutien étendu pour les champs de formulaire : Apryse C# fournit un soutien robuste pour les champs de formulaire PDF, permettant aux développeurs de créer, modifier et remplir des formulaires PDF de manière programmée. C'est idéal pour automatiser la génération de formulaires remplis en fonction des saisies utilisateur ou de sources de données externes.
  • Extraction de texte et de contenu : La bibliothèque permet l'extraction de texte et d'autres contenus à partir de documents PDF. Cette fonctionnalité est essentielle pour les applications qui ont besoin d'analyser ou de traiter les informations contenues dans les PDF, comme les outils de recherche ou les systèmes de gestion de contenu.
  • Sécurité et chiffrement : Apryse C# offre des fonctionnalités de sécurité complètes, y compris la capacité de crypter les documents PDF, de définir les autorisations et de gérer les signatures numériques. Cela garantit que les documents sensibles sont protégés et respectent les normes de conformité.
  • Fonctionnalités PDF avancées : Les développeurs peuvent tirer parti des fonctionnalités PDF avancées telles que les annotations, les signets et les hyperliens, améliorant l'interactivité et l'utilisabilité de leurs documents PDF. Cela permet la création de PDF plus dynamiques et conviviaux.

3. IronPDF C#

Comparaison entre IronPDF et Apryse C# : Figure 2 - page web IronPDF

IronPDF se distingue comme une bibliothèque PDF polyvalente et puissante conçue pour les développeurs .NET. Elle simplifie le processus complexe de manipulation de PDF, permettant la création, l'édition et la conversion de documents PDF directement dans les applications C#. IronPDF est disponible dans différents langages de programmation tels que Java, Python et C#. IronPDF est conçu pour répondre à une large gamme de besoins en traitement PDF, en faisant une solution incontournable pour les développeurs cherchant efficacité et fiabilité.

3.1 Caractéristiques clés

  • Intégration transparente avec .NET : IronPDF garantit une intégration facile avec les projets .NET, en supportant à la fois le .NET Framework et .NET Core, y compris les projets ASP.NET. Cette compatibilité facilite l'incorporation des fonctionnalités PDF dans les applications sans avoir besoin de configurations complexes.
  • Conversion de HTML en PDF : L'une des fonctionnalités principales d'IronPDF est sa capacité à convertir HTML en PDF. Cette fonctionnalité permet aux développeurs de transformer des pages web ou des chaînes HTML en documents PDF de haute qualité, idéal pour générer des rapports, reçus et autres documents à partir de modèles HTML.
  • Édition PDF avancée : Avec IronPDF, les développeurs ont le pouvoir d'éditer des documents PDF de manière extensive. Cela inclut l'ajout de texte, d'images et de graphiques vectoriels, ainsi que la modification de contenu existant dans les fichiers PDF. IronPDF fournit une suite complète d'outils d'édition pour personnaliser les PDF selon des exigences spécifiques.
  • Gestion des formulaires PDF : IronPDF offre un support robuste pour travailler avec les formulaires PDF. Il permet la création et l'édition de champs de formulaire, ainsi que le remplissage programmé des formulaires. C'est particulièrement utile pour automatiser les flux de documents et les processus de saisie de données.
  • Extraction de contenu : La bibliothèque excelle dans l'extraction de texte, d'images et même de métadonnées à partir de documents PDF. Cette fonctionnalité soutient une gamme d'applications, de l'analyse de contenu aux projets de migration de données, permettant aux développeurs d'extraire et d'utiliser efficacement le contenu des PDF.
  • Sécurité des documents : IronPDF fournit des fonctionnalités de sécurité complètes, y compris le support pour la protection par mot de passe, le chiffrement et la gestion des permissions des documents PDF. Cela garantit que les informations sensibles restent sécurisées et que l'accès aux documents est contrôlé.
  • Performance et évolutivité : Conçu dans un souci de performance, IronPDF est optimisé pour la rapidité et l'évolutivité, ce qui le rend adapté au traitement d'un grand volume de documents PDF ou à la gestion d'applications nécessitant beaucoup de ressources sans compromis sur la performance.
  • Documentation et support complets : IronPDF est soutenu par une documentation extensive et une équipe de support réactive. Cela garantit que les développeurs ont accès aux ressources et à l'assistance nécessaires pour implémenter et résoudre efficacement les fonctionnalités PDF dans leurs projets.
  • Compatibilité avec diverses normes PDF : IronPDF C# prend en charge une large gamme de normes PDF, garantissant que les documents sont compatibles avec différents visualiseurs et respectent les spécifications de l'industrie. This includes support for PDF/A for archival purposes, PDF/UA for accessibility, and more.

4. Créer une application console en C

Créer une application console dans Visual Studio est un processus simple qui pose les bases de tout projet de développement .NET, y compris ceux impliquant des manipulations de PDF avec des bibliothèques telles qu'IronPDF ou Apryse C#. Voici comment commencer :

4.1 Lancer Visual Studio

Ouvrez Visual Studio sur votre ordinateur. Si vous n'avez pas encore installé Visual Studio, téléchargez et installez-le depuis le site Web officiel de Microsoft, en choisissant une version adaptée à vos besoins.

4.2 Créer un nouveau projet

Une fois Visual Studio ouvert, sélectionnez l'option "Créer un nouveau projet" depuis le tableau de bord initial.

Comparaison entre IronPDF et Apryse C# : Figure 3 - Création d'un nouveau projet VS

4.3 Choisir le type de projet

Dans la fenêtre "Créer un nouveau projet", vous verrez une variété de modèles de projet. Tapez "Console" dans la barre de recherche ou trouvez le modèle "Application console" dans la liste. Assurez-vous de sélectionner le modèle spécifique à C#, et non pas à un autre langage.

Comparaison entre IronPDF et Apryse C# : Figure 4 - Choix d'un modèle d'application console

4.4 Configurer votre projet

Après avoir sélectionné le modèle "Application console", cliquez sur le bouton "Suivant". Vous serez invité à configurer votre nouveau projet :

  • Nom du projet : Saisissez un nom pour votre projet.
  • Emplacement : Choisissez où vous souhaitez enregistrer votre projet sur votre ordinateur.
  • Nom de la solution : Par défaut, cela correspond au nom de votre projet, mais vous pouvez le modifier si vous le souhaitez.

Comparaison entre IronPDF et Apryse C# : Figure 5 - Configuration des détails du projet

  • Framework : Sélectionnez la version de .NET que vous souhaitez utiliser. Pour la plupart des usages, la dernière version est recommandée, sauf si vous avez des exigences spécifiques.

Comparaison entre IronPDF et Apryse C# : Figure 6 - Sélection du framework .NET approprié

4.5 Créer le projet

Après avoir configuré les paramètres de votre projet, cliquez sur le bouton "Créer". Visual Studio configurera un nouveau projet d'application console avec un fichier Program.cs par défaut.

4.6 Explorer la structure du projet

Prenez un moment pour explorer la structure du projet généré dans le volet Explorateur de solutions. Vous travaillerez principalement avec le fichier Program.cs pour une application console, qui est l'endroit où vous écrirez votre code C#.

5. Installer la bibliothèque IronPDF

Intégrer la bibliothèque IronPDF dans votre projet .NET vous permet de tirer parti de ses vastes capacités de manipulation PDF. Il existe plusieurs méthodes pour installer IronPDF, garantissant une flexibilité en fonction de votre flux de travail préféré ou de la configuration de votre environnement de développement.

5.1 Utilisation du gestionnaire de packages NuGet

Le gestionnaire de packages NuGet dans Visual Studio offre une interface conviviale pour gérer les bibliothèques et les dépendances.

  1. Ouvrez votre projet dans Visual Studio.
  2. Naviguez vers l'Explorateur de solutions, cliquez à droite sur votre projet, et sélectionnez "Gérer les packages NuGet".
  3. Cliquez sur l'onglet "Parcourir" et cherchez "IronPdf".
  4. Trouvez IronPDF dans les résultats de recherche, sélectionnez-le, et cliquez sur "Installer". Visual Studio fera le reste, ajoutant IronPDF à votre projet.

Comparaison entre IronPDF et Apryse C# : Figure 7 - Installation d'IronPDF via le gestionnaire de packages NuGet

5.2 Utilisation de la ligne de commande de Visual Studio

Pour ceux qui préfèrent utiliser la ligne de commande, la console du gestionnaire de packages dans Visual Studio offre un moyen direct d'installer des packages.

  1. Ouvrez Visual Studio et allez dans votre projet.
  2. Naviguez vers Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages.
  3. Dans la console, tapez la commande suivante et appuyez sur Entrée :
Install-Package IronPdf

Cette commande téléchargera et installera la dernière version d'IronPDF dans votre projet.

5.3 Téléchargement direct depuis la page web de NuGet

Si vous préférez télécharger manuellement le package avant de l'intégrer dans votre projet, vous pouvez le faire depuis le site NuGet.

  1. Rendez-vous sur le site NuGet et recherchez "IronPdf".
  2. Sur la page du package IronPdf, trouvez le lien "Télécharger le package" et cliquez dessus pour télécharger le fichier .nupkg.

Comparaison entre IronPDF et Apryse C# : Figure 8 - Installation directe d'IronPDF via la page web de NuGet

  1. Une fois téléchargé, vous pouvez ajouter le package à votre projet manuellement. Dans Visual Studio, naviguez vers l'Explorateur de solutions, cliquez à droite sur votre projet, et choisissez "Ajouter > Référence". Naviguez vers l'emplacement du fichier .nupkg téléchargé, sélectionnez-le, et ajoutez-le à votre projet.

Chacune de ces méthodes intégrera avec succès IronPDF dans votre projet .NET, vous permettant de commencer à utiliser ses puissantes fonctionnalités de traitement PDF.

6. Installer Apryse C#

Pour intégrer Apryse C# dans votre projet C#, vous avez plusieurs options selon que vous travaillez avec .NET Framework ou .NET Core, ainsi que selon vos préférences d'environnement de développement. Ci-dessous se trouvent des étapes généralisées basées sur les documentations et guides de configuration d'Apryse :

6.1 Pour .NET Framework

  1. Téléchargez le SDK Apryse pour Windows : Vous devrez visiter la page du SDK Apryse pour Windows pour télécharger le SDK adapté pour les applications .NET Framework.

Comparaison entre IronPDF et Apryse C# : Figure 9 - Téléchargement du SDK Apryse sur la page Apryse

  1. Extraire le SDK : Après avoir téléchargé, extrayez le SDK à un endroit connu sur votre système.
  2. Obtenez une clé d'essai Apryse : Inscrivez-vous sur la plateforme Apryse pour obtenir une clé d'essai, que vous utiliserez pour activer les fonctionnalités d'essai du SDK.
  3. Installer votre projet : Dans Visual Studio, créez une nouvelle application console .NET Framework. Ensuite, ajoutez le dossier Lib du SDK extrait à votre répertoire projet.
  4. Ajouter des références : Cliquez-droit sur Références dans votre projet, choisissez "Ajouter référence", et naviguez vers le dossier Lib où vous avez copié PDFNetLoader.dll et le PDFNet.dll approprié pour votre architecture (x86 ou x64). Assurez-vous de définir la propriété "Copie Locale" de PDFNet.dll à faux.
  5. Configurer le fichier App.config : Assurez-vous que votre fichier App.config a le paramètre loadFromRemoteSources activé à true.

Il y a des dossiers d'échantillons dans le SDK. Vous pouvez ouvrir et exécuter ces solutions d'échantillon directement.

7. Fonctionnalités avancées d'IronPDF

7.1 Conversion de HTML en PDF

IronPDF excelle dans la conversion de documents HTML en PDF. Cette fonctionnalité est cruciale pour les applications web nécessitant de générer des rapports, des factures ou des instantanés de pages web sous forme de fichiers PDF. La bibliothèque rend avec précision HTML, CSS, et JavaScript, capturant la mise en page et les styles du contenu web dans le PDF généré.

7.1.1 Chaîne HTML vers PDF

Convertir une chaîne HTML directement en PDF permet une création dynamique de PDF à partir de contenu HTML généré au sein de votre application ou stocké dans une variable. Cela est particulièrement utile pour générer des rapports personnalisés, des reçus ou des documents basés sur les saisies de l'utilisateur ou les données de l'application.

using IronPdf;

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Define a simple HTML string to convert to PDF
string htmlContent = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>My PDF</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        h1 {
            color: #333;
            text-align: center;
        }
        p {
            color: #666;
            text-align: justify;
        }
    </style>
</head>
<body>
    <h1>Welcome to My PDF</h1>
    <p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
    <p>You can add more content here as needed.</p>
</body>
</html>";

// Render the HTML string as a PDF
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the resulting PDF to a file
pdf.SaveAs("output.pdf");
using IronPdf;

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Define a simple HTML string to convert to PDF
string htmlContent = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>My PDF</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        h1 {
            color: #333;
            text-align: center;
        }
        p {
            color: #666;
            text-align: justify;
        }
    </style>
</head>
<body>
    <h1>Welcome to My PDF</h1>
    <p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
    <p>You can add more content here as needed.</p>
</body>
</html>";

// Render the HTML string as a PDF
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the resulting PDF to a file
pdf.SaveAs("output.pdf");
Imports IronPdf

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Define a simple HTML string to convert to PDF
Dim htmlContent As String = "
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>My PDF</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        h1 {
            color: #333;
            text-align: center;
        }
        p {
            color: #666;
            text-align: justify;
        }
    </style>
</head>
<body>
    <h1>Welcome to My PDF</h1>
    <p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
    <p>You can add more content here as needed.</p>
</body>
</html>"

' Render the HTML string as a PDF
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Save the resulting PDF to a file
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 10 – PDF généré à partir d'une chaîne HTML

7.1.2 Fichier HTML vers PDF

Lorsque vous avez un fichier HTML stocké sur disque, IronPDF peut convertir ce fichier en document PDF. Cette méthode est idéale pour convertir des documents HTML existants, des modèles ou des rapports enregistrés en tant que fichiers dans votre projet ou sur votre serveur.

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the HTML file as a PDF
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");

// Save the resulting PDF to a file
pdf.SaveAs("file.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the HTML file as a PDF
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");

// Save the resulting PDF to a file
pdf.SaveAs("file.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Render the HTML file as a PDF
Dim pdf = renderer.RenderHtmlFileAsPdf("invoice.html")

' Save the resulting PDF to a file
pdf.SaveAs("file.pdf")
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 11 – PDF généré à partir d'un fichier HTML

7.1.3 URL vers PDF

IronPDF peut convertir une page web en direct en document PDF en fournissant l'URL. Cette fonctionnalité est extrêmement utile pour capturer l'état actuel d'une page web, y compris les mises en page complexes, le CSS et le contenu généré par JavaScript.

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework");

// Save the resulting PDF to a file
pdf.SaveAs("url.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework");

// Save the resulting PDF to a file
pdf.SaveAs("url.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Render the URL as a PDF
Dim pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework")

' Save the resulting PDF to a file
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 12 – PDF généré à partir d'une URL

Support de Bootstrap et des frameworks CSS modernes

Lors de la génération de PDF à partir d'applications web modernes, un support complet pour Bootstrap et les frameworks CSS est essentiel. De nombreuses organisations dépendent de Bootstrap pour leurs interfaces web, et la capacité de convertir ces conceptions avec précision en PDF est cruciale pour les rapports, factures et documentations.

IronPDF : Support complet de Bootstrap

  • Bootstrap 5 : Support complet des mises en page flexbox, de la grille CSS, des classes utilitaires et des composants réactifs
  • Bootstrap 4 : Systèmes de cartes complets, composants de navigation et utilitaires flexibles
  • Tailwind CSS : Toutes les classes utilitaires sont rendues avec précision
  • Foundation : Système de grille et support des composants complets
  • CSS3 Moderne : Flexbox complet, grille CSS, propriétés personnalisées, animations et transitions

Real-world validation: IronPDF successfully renders the Bootstrap homepage and all official examples with pixel-perfect accuracy.

Exemple de code : Tableau de bord des métriques commerciales

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

var renderer = new ChromePdfRenderer();
string bootstrapDashboard = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .metric-card { transition: transform 0.2s; }
        .metric-card:hover { transform: translateY(-5px); }
        .trend-up { color: #28a745; }
        .trend-down { color: #dc3545; }
    </style>
</head>
<body>
    <div class='container-fluid py-4'>
        <div class='d-flex justify-content-between align-items-center mb-4'>
            <h1 class='display-5'>Business Performance Dashboard</h1>
            <div class='text-muted'>Last updated: March 2025</div>
        </div>

        <div class='row g-4 mb-4'>
            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-primary border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Total Revenue</h6>
                            <span class='badge bg-primary'>Q1 2025</span>
                        </div>
                        <h2 class='mb-1'>$2.4M</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+18.5%</strong> from last quarter
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-success border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>New Customers</h6>
                            <span class='badge bg-success'>Active</span>
                        </div>
                        <h2 class='mb-1'>1,284</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+24.3%</strong> growth rate
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-warning border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Avg Order Value</h6>
                            <span class='badge bg-warning text-dark'>Updated</span>
                        </div>
                        <h2 class='mb-1'>$1,847</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+5.2%</strong> increase
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-info border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Satisfaction Rate</h6>
                            <span class='badge bg-info'>Excellent</span>
                        </div>
                        <h2 class='mb-1'>94.7%</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+2.1pts</strong> improvement
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Revenue Breakdown by Category</h5>
                        <div class='btn-group btn-group-sm' role='group'>
                            <button type='button' class='btn btn-outline-primary active'>Monthly</button>
                            <button type='button' class='btn btn-outline-primary'>Quarterly</button>
                            <button type='button' class='btn btn-outline-primary'>Annual</button>
                        </div>
                    </div>
                    <div class='card-body'>
                        <div class='table-responsive'>
                            <table class='table table-hover mb-0'>
                                <thead class='table-light'>
                                    <tr>
                                        <th>Category</th>
                                        <th>Revenue</th>
                                        <th>Orders</th>
                                        <th>Avg Value</th>
                                        <th class='text-end'>Trend</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <tr>
                                        <td><span class='badge bg-primary me-2'>A</span>Enterprise Solutions</td>
                                        <td><strong>$1,245,000</strong></td>
                                        <td>142</td>
                                        <td>$8,768</td>
                                        <td class='text-end'><span class='badge bg-success'>+12%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-success me-2'>B</span>Professional Services</td>
                                        <td><strong>$687,500</strong></td>
                                        <td>458</td>
                                        <td>$1,501</td>
                                        <td class='text-end'><span class='badge bg-success'>+18%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-info me-2'>C</span>Standard Packages</td>
                                        <td><strong>$412,300</strong></td>
                                        <td>891</td>
                                        <td>$463</td>
                                        <td class='text-end'><span class='badge bg-success'>+8%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-warning me-2'>D</span>Custom Development</td>
                                        <td><strong>$55,200</strong></td>
                                        <td>12</td>
                                        <td>$4,600</td>
                                        <td class='text-end'><span class='badge bg-danger'>-3%</span></td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-white'>
                        <h5 class='mb-0'>Quick Actions</h5>
                    </div>
                    <div class='card-body'>
                        <div class='d-grid gap-2'>
                            <button class='btn btn-primary'>Generate Full Report</button>
                            <button class='btn btn-outline-primary'>Export to Excel</button>
                            <button class='btn btn-outline-secondary'>Schedule Email</button>
                            <button class='btn btn-outline-info'>Share Dashboard</button>
                        </div>
                    </div>
                </div>

                <div class='card shadow-sm mt-3'>
                    <div class='card-header bg-white'>
                        <h5 class='mb-0'>Key Insights</h5>
                    </div>
                    <div class='card-body'>
                        <div class='alert alert-success mb-2'>
                            <small><strong>Top Performer:</strong> Enterprise Solutions leading revenue growth</small>
                        </div>
                        <div class='alert alert-info mb-2'>
                            <small><strong>Growth Driver:</strong> Professional Services showing strongest customer acquisition</small>
                        </div>
                        <div class='alert alert-warning mb-0'>
                            <small><strong>Attention Needed:</strong> Custom Development segment requires review</small>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapDashboard);
pdf.SaveAs("business-dashboard.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

var renderer = new ChromePdfRenderer();
string bootstrapDashboard = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .metric-card { transition: transform 0.2s; }
        .metric-card:hover { transform: translateY(-5px); }
        .trend-up { color: #28a745; }
        .trend-down { color: #dc3545; }
    </style>
</head>
<body>
    <div class='container-fluid py-4'>
        <div class='d-flex justify-content-between align-items-center mb-4'>
            <h1 class='display-5'>Business Performance Dashboard</h1>
            <div class='text-muted'>Last updated: March 2025</div>
        </div>

        <div class='row g-4 mb-4'>
            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-primary border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Total Revenue</h6>
                            <span class='badge bg-primary'>Q1 2025</span>
                        </div>
                        <h2 class='mb-1'>$2.4M</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+18.5%</strong> from last quarter
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-success border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>New Customers</h6>
                            <span class='badge bg-success'>Active</span>
                        </div>
                        <h2 class='mb-1'>1,284</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+24.3%</strong> growth rate
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-warning border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Avg Order Value</h6>
                            <span class='badge bg-warning text-dark'>Updated</span>
                        </div>
                        <h2 class='mb-1'>$1,847</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+5.2%</strong> increase
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-info border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Satisfaction Rate</h6>
                            <span class='badge bg-info'>Excellent</span>
                        </div>
                        <h2 class='mb-1'>94.7%</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+2.1pts</strong> improvement
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Revenue Breakdown by Category</h5>
                        <div class='btn-group btn-group-sm' role='group'>
                            <button type='button' class='btn btn-outline-primary active'>Monthly</button>
                            <button type='button' class='btn btn-outline-primary'>Quarterly</button>
                            <button type='button' class='btn btn-outline-primary'>Annual</button>
                        </div>
                    </div>
                    <div class='card-body'>
                        <div class='table-responsive'>
                            <table class='table table-hover mb-0'>
                                <thead class='table-light'>
                                    <tr>
                                        <th>Category</th>
                                        <th>Revenue</th>
                                        <th>Orders</th>
                                        <th>Avg Value</th>
                                        <th class='text-end'>Trend</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <tr>
                                        <td><span class='badge bg-primary me-2'>A</span>Enterprise Solutions</td>
                                        <td><strong>$1,245,000</strong></td>
                                        <td>142</td>
                                        <td>$8,768</td>
                                        <td class='text-end'><span class='badge bg-success'>+12%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-success me-2'>B</span>Professional Services</td>
                                        <td><strong>$687,500</strong></td>
                                        <td>458</td>
                                        <td>$1,501</td>
                                        <td class='text-end'><span class='badge bg-success'>+18%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-info me-2'>C</span>Standard Packages</td>
                                        <td><strong>$412,300</strong></td>
                                        <td>891</td>
                                        <td>$463</td>
                                        <td class='text-end'><span class='badge bg-success'>+8%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-warning me-2'>D</span>Custom Development</td>
                                        <td><strong>$55,200</strong></td>
                                        <td>12</td>
                                        <td>$4,600</td>
                                        <td class='text-end'><span class='badge bg-danger'>-3%</span></td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-white'>
                        <h5 class='mb-0'>Quick Actions</h5>
                    </div>
                    <div class='card-body'>
                        <div class='d-grid gap-2'>
                            <button class='btn btn-primary'>Generate Full Report</button>
                            <button class='btn btn-outline-primary'>Export to Excel</button>
                            <button class='btn btn-outline-secondary'>Schedule Email</button>
                            <button class='btn btn-outline-info'>Share Dashboard</button>
                        </div>
                    </div>
                </div>

                <div class='card shadow-sm mt-3'>
                    <div class='card-header bg-white'>
                        <h5 class='mb-0'>Key Insights</h5>
                    </div>
                    <div class='card-body'>
                        <div class='alert alert-success mb-2'>
                            <small><strong>Top Performer:</strong> Enterprise Solutions leading revenue growth</small>
                        </div>
                        <div class='alert alert-info mb-2'>
                            <small><strong>Growth Driver:</strong> Professional Services showing strongest customer acquisition</small>
                        </div>
                        <div class='alert alert-warning mb-0'>
                            <small><strong>Attention Needed:</strong> Custom Development segment requires review</small>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapDashboard);
pdf.SaveAs("business-dashboard.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie : Tableau de bord professionnel au format PDF avec système de grille basé sur flexbox de Bootstrap 5, composants cartes avec utilitaires de bordure, éléments de badge, tableaux réactifs et métriques codées par couleur—tous rendant avec une préservation parfaite de la mise en page et de la typographie.

Apryse (PDFTron) : Support limité des CSS modernes

Le module HTML2PDF d'Apryse utilise un moteur de rendu personnalisé (non basé sur Chromium) avec des limitations documentées :

  • Support partiel de flexbox : Les mises en page Bootstrap 4/5 peuvent ne pas se rendre correctement
  • Support limité de la grille CSS : Les conceptions modernes basées sur la grille échouent souvent
  • Contraintes JavaScript : Exécution minimale comparée aux environnements de navigateur
  • Compatibilité du framework : Nécessite des tests approfondis pour les composants Bootstrap

La documentation HTML2PDF avertit explicitement que les CSS complexes peuvent ne pas se rendre comme prévu, et les développeurs signalent des problèmes avec les barres de navigation, les mises en page à base de cartes flexibles et les utilitaires réactifs.

Impact sur le développement : Les équipes utilisant Apryse doivent créer des CSS "sûr pour PDF" parallèles ou simplifier considérablement les mises en page Bootstrap, ajoutant des charges de développement et limitant la cohérence du design entre les sorties web et PDF.

Pour un support complet des frameworks Bootstrap avec un rendu complet CSS3, consultez le Guide CSS Bootstrap & Flexbox.

7.2 Fusion et division de PDF

Avec IronPDF, combiner plusieurs documents PDF en un fichier unique ou diviser un PDF en plusieurs documents plus petits est simple. Cette fonctionnalité est essentielle pour les systèmes de gestion de documents où l'organisation et la structuration du contenu PDF sont nécessaires.

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Define HTML content for two PDFs to merge
var htmlA = @"
    <h1>PDF A</h1>
    <p>This is the content of PDF A.</p>
    <p>This is the first page of PDF A.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF A.</p>";

var htmlB = @"
    <h1>PDF B</h1>
    <p>This is the content of PDF B.</p>
    <p>This is the first page of PDF B.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF B.</p>";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the HTML content as separate PDF documents
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the two PDFs into one
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF to a file
mergedPdf.SaveAs("Merged.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Define HTML content for two PDFs to merge
var htmlA = @"
    <h1>PDF A</h1>
    <p>This is the content of PDF A.</p>
    <p>This is the first page of PDF A.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF A.</p>";

var htmlB = @"
    <h1>PDF B</h1>
    <p>This is the content of PDF B.</p>
    <p>This is the first page of PDF B.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF B.</p>";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the HTML content as separate PDF documents
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the two PDFs into one
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF to a file
mergedPdf.SaveAs("Merged.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Define HTML content for two PDFs to merge
Dim htmlA = "
    <h1>PDF A</h1>
    <p>This is the content of PDF A.</p>
    <p>This is the first page of PDF A.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF A.</p>"

Dim htmlB = "
    <h1>PDF B</h1>
    <p>This is the content of PDF B.</p>
    <p>This is the first page of PDF B.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF B.</p>"

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Render the HTML content as separate PDF documents
Dim pdfDocA = renderer.RenderHtmlAsPdf(htmlA)
Dim pdfDocB = renderer.RenderHtmlAsPdf(htmlB)

' Merge the two PDFs into one
Dim mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB)

' Save the merged PDF to a file
mergedPdf.SaveAs("Merged.pdf")
$vbLabelText   $csharpLabel

7.3 Ajout de filigranes

IronPDF vous permet d'ajouter des filigranes aux pages PDF, ce qui est utile pour la marque ou pour marquer des documents "confidentiels". Cette fonctionnalité supporte à la fois les textes et les images en tant que filigranes, offrant une flexibilité sur la manière dont les filigranes sont appliqués et affichés.

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render a URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Save the watermarked PDF to a file
pdf.SaveAs("Watermarked.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render a URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Save the watermarked PDF to a file
pdf.SaveAs("Watermarked.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Render a URL as a PDF
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

' Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)

' Save the watermarked PDF to a file
pdf.SaveAs("Watermarked.pdf")
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 13 – PDF généré avec le filigrane ÉCHANTILLON

7.4 Formulaires PDF

IronPDF prend en charge le travail avec des formulaires PDF interactifs. Il permet la création, le remplissage, et la soumission des formulaires PDF de manière programmée. Cela est particulièrement utile pour les applications qui doivent automatiser le traitement des formulaires ou intégrer la collecte de données de formulaire dans leurs flux de travail.

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Define HTML content with form elements
const string formHtml = @"
    <html>
        <body>
            <h2>Employee Information Form</h2>
            <form>
                First name: <br> 
                Last name: <br> 
                <br>
                <p>Please select your department:</p>
                <select name='department'>
                    <option value='HR'>HR</option>
                    <option value='Finance'>Finance</option>
                    <option value='IT'>IT</option>
                    <option value='Marketing'>Marketing</option>
                </select>
                <br>
                <br>
                <p>Please select your employment status:</p>
                <label for='fulltime'>Full-time</label> <br>
                <label for='parttime'>Part-time</label> <br>
                <br>
                <p>Please select your skills:</p>
                <label for='skill1'> Programming</label><br>
                <label for='skill2'> Design</label><br>
                <label for='skill3'> Marketing</label><br>
            </form>
        </body>
    </html>";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML form content as a PDF
renderer.RenderHtmlAsPdf(formHtml).SaveAs("EmployeeInfoForm.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Define HTML content with form elements
const string formHtml = @"
    <html>
        <body>
            <h2>Employee Information Form</h2>
            <form>
                First name: <br> 
                Last name: <br> 
                <br>
                <p>Please select your department:</p>
                <select name='department'>
                    <option value='HR'>HR</option>
                    <option value='Finance'>Finance</option>
                    <option value='IT'>IT</option>
                    <option value='Marketing'>Marketing</option>
                </select>
                <br>
                <br>
                <p>Please select your employment status:</p>
                <label for='fulltime'>Full-time</label> <br>
                <label for='parttime'>Part-time</label> <br>
                <br>
                <p>Please select your skills:</p>
                <label for='skill1'> Programming</label><br>
                <label for='skill2'> Design</label><br>
                <label for='skill3'> Marketing</label><br>
            </form>
        </body>
    </html>";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML form content as a PDF
renderer.RenderHtmlAsPdf(formHtml).SaveAs("EmployeeInfoForm.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Define HTML content with form elements
Const formHtml As String = "
    <html>
        <body>
            <h2>Employee Information Form</h2>
            <form>
                First name: <br> 
                Last name: <br> 
                <br>
                <p>Please select your department:</p>
                <select name='department'>
                    <option value='HR'>HR</option>
                    <option value='Finance'>Finance</option>
                    <option value='IT'>IT</option>
                    <option value='Marketing'>Marketing</option>
                </select>
                <br>
                <br>
                <p>Please select your employment status:</p>
                <label for='fulltime'>Full-time</label> <br>
                <label for='parttime'>Part-time</label> <br>
                <br>
                <p>Please select your skills:</p>
                <label for='skill1'> Programming</label><br>
                <label for='skill2'> Design</label><br>
                <label for='skill3'> Marketing</label><br>
            </form>
        </body>
    </html>"

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Render the HTML form content as a PDF
renderer.RenderHtmlAsPdf(formHtml).SaveAs("EmployeeInfoForm.pdf")
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 14 - PDF généré avec un formulaire interactif

7.5 Sécurité et chiffrement

IronPDF offre des fonctionnalités pour sécuriser les documents PDF, y compris la possibilité de crypter des fichiers PDF, de définir des autorisations, et d'ajouter des signatures numériques. Cela garantit que les informations sensibles dans les documents PDF sont protégées et que l'intégrité du document est maintenue.

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Load an existing PDF file
var pdf = PdfDocument.FromFile("invoice.pdf");

// Set document security settings
pdf.SecuritySettings.OwnerPassword = "top-secret"; // Password to edit the PDF
pdf.SecuritySettings.UserPassword = "sharable";   // Password to open the PDF

// Save the secured PDF to a file
pdf.SaveAs("secured.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Load an existing PDF file
var pdf = PdfDocument.FromFile("invoice.pdf");

// Set document security settings
pdf.SecuritySettings.OwnerPassword = "top-secret"; // Password to edit the PDF
pdf.SecuritySettings.UserPassword = "sharable";   // Password to open the PDF

// Save the secured PDF to a file
pdf.SaveAs("secured.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Load an existing PDF file
Dim pdf = PdfDocument.FromFile("invoice.pdf")

' Set document security settings
pdf.SecuritySettings.OwnerPassword = "top-secret" ' Password to edit the PDF
pdf.SecuritySettings.UserPassword = "sharable" ' Password to open the PDF

' Save the secured PDF to a file
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 15 - Popup d'un PDF protégé par mot de passe

7.6 Édition avancée de PDF

IronPDF va au-delà de l'édition de base des PDF en offrant des capacités d'édition avancées. Cela inclut l'ajout d'en-têtes et de pieds de page, la personnalisation de la mise en page et du design, et l'intégration des images et des polices. Ces fonctionnalités permettent une génération dynamique de PDF et une personnalisation selon des exigences d'application spécifiques.

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new IronPdf.ChromePdfRenderer();

// Define multi-page HTML content with page breaks
var multiPageHtml = @"
    <p> This is 1st Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 2nd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 3rd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 4th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 5th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 6th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 7th Page</p>";

// Render the HTML content as a PDF
var pdfDoc = renderer.RenderHtmlAsPdf(multiPageHtml);

// Create a header for the first page only
var firstPageHeader = new HtmlHeaderFooter();
firstPageHeader.HtmlFragment = "This is the First Page Header";
pdfDoc.AddHtmlHeaders(firstPageHeader, 1);

// Save the resulting PDF with headers to a file
pdfDoc.SaveAs("PagesWithHeaders.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new IronPdf.ChromePdfRenderer();

// Define multi-page HTML content with page breaks
var multiPageHtml = @"
    <p> This is 1st Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 2nd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 3rd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 4th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 5th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 6th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 7th Page</p>";

// Render the HTML content as a PDF
var pdfDoc = renderer.RenderHtmlAsPdf(multiPageHtml);

// Create a header for the first page only
var firstPageHeader = new HtmlHeaderFooter();
firstPageHeader.HtmlFragment = "This is the First Page Header";
pdfDoc.AddHtmlHeaders(firstPageHeader, 1);

// Save the resulting PDF with headers to a file
pdfDoc.SaveAs("PagesWithHeaders.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate a PDF renderer
Dim renderer = New IronPdf.ChromePdfRenderer()

' Define multi-page HTML content with page breaks
Dim multiPageHtml = "
    <p> This is 1st Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 2nd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 3rd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 4th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 5th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 6th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 7th Page</p>"

' Render the HTML content as a PDF
Dim pdfDoc = renderer.RenderHtmlAsPdf(multiPageHtml)

' Create a header for the first page only
Dim firstPageHeader = New HtmlHeaderFooter()
firstPageHeader.HtmlFragment = "This is the First Page Header"
pdfDoc.AddHtmlHeaders(firstPageHeader, 1)

' Save the resulting PDF with headers to a file
pdfDoc.SaveAs("PagesWithHeaders.pdf")
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 16 - PDF multipage généré

8. Fonctionnalités avancées d'Apryse C

8.1 Annotation et balisage des PDF

Apryse C# permet aux développeurs d'ajouter des annotations et des balisages aux documents PDF de manière programmée. Cela inclut les annotations texte, les surlignages, les soulignements et les formes, qui sont essentiels pour les processus de révision de documents ou l'ajout d'informations complémentaires aux PDF.

using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library with your license key
        PDFNet.Initialize("License");

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Access the first page of the document
            Page page = doc.GetPage(1);

            // Create a text annotation on the document
            Text txt = Text.Create(doc, new Rect(10, 20, 30, 40));
            txt.SetIcon("UserIcon");
            txt.SetContents("It's an annotation!");
            page.AnnotPushBack(txt);

            // Save the modified document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library with your license key
        PDFNet.Initialize("License");

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Access the first page of the document
            Page page = doc.GetPage(1);

            // Create a text annotation on the document
            Text txt = Text.Create(doc, new Rect(10, 20, 30, 40));
            txt.SetIcon("UserIcon");
            txt.SetContents("It's an annotation!");
            page.AnnotPushBack(txt);

            // Save the modified document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library with your license key
		PDFNet.Initialize("License")

		' Open an existing PDF document
		Using doc As New PDFDoc("input.pdf")
			' Access the first page of the document
			Dim page As Page = doc.GetPage(1)

			' Create a text annotation on the document
			Dim txt As Text = Text.Create(doc, New Rect(10, 20, 30, 40))
			txt.SetIcon("UserIcon")
			txt.SetContents("It's an annotation!")
			page.AnnotPushBack(txt)

			' Save the modified document
			doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 17 - PDF généré avec icône et annotation

8.2 Conversion de documents

Avec Apryse C#, les développeurs peuvent convertir divers formats de documents en PDF, y compris les documents Office, les images et le HTML. Cette fonctionnalité est vitale pour les applications nécessitant des formats de documents uniformes pour l'archivage, le partage ou l'affichage.

using pdftron;
using pdftron.PDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Create a new PDF document
        PDFDoc pdfdoc = new PDFDoc();

        // Convert a Word document to PDF and add it to the PDF document
        Convert.ToPdf(pdfdoc, "input.docx");

        // Save the newly created PDF document
        pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
    }
}
using pdftron;
using pdftron.PDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Create a new PDF document
        PDFDoc pdfdoc = new PDFDoc();

        // Convert a Word document to PDF and add it to the PDF document
        Convert.ToPdf(pdfdoc, "input.docx");

        // Save the newly created PDF document
        pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
    }
}
Imports pdftron
Imports pdftron.PDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library
		PDFNet.Initialize()

		' Create a new PDF document
		Dim pdfdoc As New PDFDoc()

		' Convert a Word document to PDF and add it to the PDF document
		Convert.ToPdf(pdfdoc, "input.docx")

		' Save the newly created PDF document
		pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
	End Sub
End Class
$vbLabelText   $csharpLabel

8.3 Extraction et analyse de contenu

Apryse C# excelle dans l'extraction de texte, d'images, et d'autres contenus à partir de documents PDF. Cette capacité est cruciale pour les applications d'analyse de contenu, d'extraction de données, et de récupération d'informations, permettant le traitement du contenu PDF pour divers usages.

using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Iterate through each page of the document
            PageIterator itr = doc.GetPageIterator();
            for (; itr.HasNext(); itr.Next())
            {
                Page page = itr.Current();

                // Extract text from the page
                TextExtractor txt = new TextExtractor();
                txt.Begin(page);

                // Print the extracted text to the console
                Console.WriteLine(txt.GetAsText());
            }
        }
    }
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Iterate through each page of the document
            PageIterator itr = doc.GetPageIterator();
            for (; itr.HasNext(); itr.Next())
            {
                Page page = itr.Current();

                // Extract text from the page
                TextExtractor txt = new TextExtractor();
                txt.Begin(page);

                // Print the extracted text to the console
                Console.WriteLine(txt.GetAsText());
            }
        }
    }
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library
		PDFNet.Initialize()

		' Open an existing PDF document
		Using doc As New PDFDoc("input.pdf")
			' Iterate through each page of the document
			Dim itr As PageIterator = doc.GetPageIterator()
			Do While itr.HasNext()
				Dim page As Page = itr.Current()

				' Extract text from the page
				Dim txt As New TextExtractor()
				txt.Begin(page)

				' Print the extracted text to the console
				Console.WriteLine(txt.GetAsText())
				itr.Next()
			Loop
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Comparaison entre IronPDF et Apryse C# : Figure 18 - Sortie console du texte extrait d'un PDF

8.4 Sécurité et chiffrement

Apryse C# offre des outils complets pour sécuriser les documents PDF. Les développeurs peuvent appliquer une protection par mot de passe, chiffrer les documents, et gérer les permissions utilisateur, garantissant que les informations sensibles sont protégées.

using pdftron;
using pdftron.SDF;
using pdftron.PDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Initialize the security handler
            doc.InitSecurityHandler();

            // Create a new security handler
            SecurityHandler newHandler = new SecurityHandler();

            // Set the user password for the document
            newHandler.ChangeUserPassword("new_password");

            // Grant permission to print the document
            newHandler.SetPermission(SecurityHandler.Permission.e_print, true);

            // Apply the security handler to the document
            doc.SetSecurityHandler(newHandler);

            // Save the secured document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
using pdftron;
using pdftron.SDF;
using pdftron.PDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Initialize the security handler
            doc.InitSecurityHandler();

            // Create a new security handler
            SecurityHandler newHandler = new SecurityHandler();

            // Set the user password for the document
            newHandler.ChangeUserPassword("new_password");

            // Grant permission to print the document
            newHandler.SetPermission(SecurityHandler.Permission.e_print, true);

            // Apply the security handler to the document
            doc.SetSecurityHandler(newHandler);

            // Save the secured document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library
		PDFNet.Initialize()

		' Open an existing PDF document
		Using doc As New PDFDoc("input.pdf")
			' Initialize the security handler
			doc.InitSecurityHandler()

			' Create a new security handler
			Dim newHandler As New SecurityHandler()

			' Set the user password for the document
			newHandler.ChangeUserPassword("new_password")

			' Grant permission to print the document
			newHandler.SetPermission(SecurityHandler.Permission.e_print, True)

			' Apply the security handler to the document
			doc.SetSecurityHandler(newHandler)

			' Save the secured document
			doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

8.5 Réduction

Apryse C# supporte également la réduction d'informations sensibles des documents PDF, une fonctionnalité essentielle pour les préoccupations de conformité et de confidentialité. Cela permet aux développeurs de supprimer ou masquer définitivement le texte et les images d'un PDF.

using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Define redaction areas on specific pages
            Redactor.Redaction[] redactions = {
                new Redactor.Redaction(1, new Rect(100, 100, 200, 200), false, "redacted"),
            };

            // Apply redactions to the document
            Redactor.Redact(doc, redactions);

            // Save the redacted document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Define redaction areas on specific pages
            Redactor.Redaction[] redactions = {
                new Redactor.Redaction(1, new Rect(100, 100, 200, 200), false, "redacted"),
            };

            // Apply redactions to the document
            Redactor.Redact(doc, redactions);

            // Save the redacted document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library
		PDFNet.Initialize()

		' Open an existing PDF document
		Using doc As New PDFDoc("input.pdf")
			' Define redaction areas on specific pages
			Dim redactions() As Redactor.Redaction = { New Redactor.Redaction(1, New Rect(100, 100, 200, 200), False, "redacted")}

			' Apply redactions to the document
			Redactor.Redact(doc, redactions)

			' Save the redacted document
			doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

9. Documentation et support

9.1 Documentation et support d'IronPDF

Documentation : IronPDF offre une documentation complète qui couvre une large gamme de sujets, des guides de démarrage aux fonctionnalités avancées telles que la conversion HTML en PDF, l'édition de PDF, la fusion, la division et la sécurité. La documentation est conçue pour être facile à suivre, avec de nombreux exemples de code et explications qui guident les développeurs dans le processus d'implantation des diverses fonctionnalités liées aux PDF dans leurs applications .NET.

Support : Pour les développeurs qui ont besoin d'assistance, IronPDF fournit un support via différents canaux. Cela inclut le support par email, le support par tickets, et le chat en direct avec une équipe technique pour de l'aide sur des problèmes spécifiques. Vous pouvez également donner votre retour d'expérience grâce à un système de support.

Comparaison entre IronPDF et Apryse C# : Figure 19 - Chat de l'équipe de support Iron Software

9.2 Documentation et support d'Apryse C

Documentation : Apryse C# (anciennement connu sous le nom de PDFTron pour .NET) dispose d'une documentation détaillée qui inclut une référence API complète, des guides de développement et des exemples de code pour un large éventail de tâches de manipulation PDF.

Support : Apryse dispose d'un système de support pour les développeurs, offrant un support email direct avec leur équipe technique pour le dépannage et l'assistance sur les questions d'implémentation. Vous pouvez également poser des questions sur Stack Overflow.

10. Informations sur les licences

10.1 Licence IronPDF

IronPDF propose plusieurs options de licence adaptées à différents besoins de projet, y compris les licences Lite, Plus, et Professionnelles, avec un prix commençant à $799 pour une licence Lite. Ces licences varient selon le nombre de développeurs, les lieux, et les projets qu'elles couvrent. En outre, IronPDF offre des options pour la redistribution sans redevance et le support étendu et les mises à jour, avec des coûts spécifiques pour ces add-ons.

IronPDF propose une gamme d'options de licence perpétuelle pour les développeurs :

  • Édition Lite : Coûte $799, adaptée pour 1 développeur, 1 lieu et 1 projet, avec un support par email inclus.
  • Édition Plus : Au prix de $1,199, elle couvre jusqu'à 3 développeurs, 3 lieux, et 3 projets, avec un support email 24 heures sur 24, support chat et support téléphonique.
  • Édition Professionnelle : À $2,399, cette édition est pour jusqu'à 10 développeurs, 10 lieux et 10 projets, offrant un support complet incluant le support email, chat, téléphone et partage d'écran.

Ils offrent également un abonnement mensuel à 500 $ par mois, incluant 10 000 appels API, avec des appels supplémentaires à 0,02 $ chacun. Pour un usage illimité, IronPDF propose une solution d'entreprise avec demande de devis. Cette solution inclut une licence perpétuelle illimitée et des appels API illimités, parmi d'autres fonctionnalités.

Comparaison entre IronPDF et Apryse C# : Figure 20 - Page de licences IronPDF

10.2 Licence Apryse C

Apryse C# propose un modèle de tarification personnalisable qui s'ajuste en fonction des exigences spécifiques du projet, y compris les fonctionnalités, le volume de documents et les scénarios de déploiement. Vous devez contacter leur équipe commerciale pour obtenir les informations de tarification d'Apryse.

Comparaison entre IronPDF et Apryse C# : Figure 21 - Formulaire Apryse pour entrer en contact avec leur équipe commerciale

11. Conclusion

En conclusion, IronPDF et Apryse C# apportent chacun des capacités puissantes aux développeurs .NET travaillant avec des PDFs. IronPDF, cependant, offre un avantage avec ses fonctionnalités étendues de manipulation de PDF. Il se distingue par sa capacité à gérer des tâches complètes telles que l'édition approfondie, la fusion de PDFs avec IronPDF qui renforce son attrait. Avec le pack Iron Suite, les développeurs peuvent accéder à un ensemble d'outils à un prix avantageux, les équipant d'un robuste éventail d'utilitaires pour divers besoins de développement.

IronPDF se démarque par sa polyvalence globale et sa proposition de valeur dans la plupart des scénarios de traitement de PDF. La décision finale devrait idéalement se baser sur les exigences du projet et les fonctionnalités spécifiques nécessaires aux développeurs.

Veuillez noterApryse C# est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, approuvé ou sponsorisé par Apryse C#. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à des fins d'information uniquement et reflètent les informations disponibles publiquement au moment de la rédaction.

Questions Fréquemment Posées

Quelles sont les principales différences entre IronPDF et Apryse C# pour la manipulation de PDF ?

IronPDF est connu pour son intégration transparente avec .NET et ses capacités avancées dans la conversion HTML en PDF, la gestion des formulaires et les fonctionnalités de sécurité. Apryse C#, anciennement connu sous le nom de PDFTron SDK, se concentre sur l'extraction de contenu et la conversion de documents, offrant des fonctionnalités avancées comme les annotations et la rédaction.

Comment puis-je convertir du HTML en PDF dans une application .NET ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf de la bibliothèque IronPDF pour convertir des chaînes HTML directement en documents PDF. Cela est utile pour générer des PDF à partir de contenu web ou de modèles HTML.

Quelles sont les étapes d'installation d'IronPDF dans un projet .NET ?

IronPDF peut être facilement installé en utilisant le gestionnaire de packages NuGet dans Visual Studio. Vous pouvez également utiliser la console du gestionnaire de packages pour exécuter la commande Install-Package IronPdf ou le télécharger directement depuis le site Web de NuGet.

Comment IronPDF gère-t-il la sécurité et le chiffrement des PDF ?

IronPDF fournit des options de sécurité exhaustive, y compris la possibilité de chiffrer des documents, de définir des permissions utilisateur, et de gérer des signatures numériques. Cela garantit que les PDF sont protégés et conformes aux normes de sécurité.

Quelles sont les fonctionnalités avancées d'édition de PDF qu'offre IronPDF ?

IronPDF prend en charge une gamme de fonctionnalités d'édition avancées, y compris la possibilité de fusionner et de diviser des documents, d'ajouter des filigranes, et de personnaliser les en-têtes et les pieds de page. Il offre également des options de personnalisation de la mise en page pour une création de documents plus adaptée.

Quels supports et ressources sont disponibles pour les utilisateurs d'IronPDF ?

IronPDF offre une documentation extensive, un support par e-mail, un support basé sur des tickets, et un chat d'ingénierie en direct pour assister les développeurs avec l'implémentation et la résolution de problèmes. Cela assure que les utilisateurs aient les ressources nécessaires pour une manipulation efficace des PDF.

Quelles sont les options de licence disponibles pour IronPDF ?

IronPDF propose plusieurs options de licence, y compris les licences Lite, Plus, et Professional, répondant à différents niveaux de support et aux besoins des développeurs. Un modèle d'abonnement mensuel et des solutions d'entreprise sont également disponibles pour un usage plus large.

Comment puis-je extraire du texte d'un PDF en utilisant Apryse C# ?

Apryse C# fournit des capacités d'extraction de texte robustes, permettant aux développeurs d'extraire du contenu des PDF de manière programmée. Cette fonctionnalité est essentielle pour les applications nécessitant une analyse de données ou une manipulation de contenu.

Quels formats de document Apryse C# peut-il convertir en PDF ?

Apryse C# prend en charge la conversion de divers formats de documents, y compris les documents Office, les images, et les fichiers HTML, en PDF. Cette fonctionnalité est cruciale pour maintenir la cohérence dans la présentation de documents sur différentes plateformes.

Quelles sont les fonctionnalités clés d'IronPDF pour les développeurs .NET ?

IronPDF est connu pour ses fonctionnalités avancées telles que la conversion de HTML en PDF, la gestion complète des formulaires, et la sécurité des documents. Il est apprécié pour sa performance, sa scalabilité, et son intégration transparente avec .NET, le rendant idéal pour une large gamme de scénarios de traitement de PDF.

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 ...

Lire la suite