Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une Comparaison Entre IronPDF & Apryse C#

Pourquoi comparer les bibliothèques PDF C# IronPDF et Apryse ?

IronPDF et Apryse C# sont des bibliothèques PDF .NET importantes, chacune possédant des atouts uniques. IronPDF excelle dans la conversion HTML vers PDF grâce à une prise en charge complète de Bootstrap et à de nombreuses fonctionnalités d'édition . Parallèlement, Apryse se spécialise dans l'annotation et la rédaction de documents, répondant ainsi aux besoins de conformité des entreprises.

En tant que développeurs C#, vous êtes souvent confrontés à des tâches liées aux PDF lors de la création d'applications qui génèrent, modifient ou affichent des documents. Une bibliothèque PDF fiable est essentielle à l'efficacité. Ces bibliothèques offrent des fonctions intégrées pour des opérations complexes telles que la conversion de documents , l'édition de texte et la gestion d'images dans les fichiers PDF . Sans eux, il faudrait écrire toutes les fonctionnalités à partir de zéro, ce qui est à la fois long et source d'erreurs.

Cette comparaison porte sur deux bibliothèques PDF populaires : IronPDF et Apryse C# . IronPDF offre des fonctionnalités fiables qui simplifient les opérations PDF dans les environnements .NET , de la conversion HTML en PDF à l'édition avancée de documents. Apryse C# propose une approche simple de la manipulation de fichiers PDF, axée sur l'efficacité et la facilité d'utilisation. Cette analyse explore les capacités spécifiques de chaque bibliothèque afin de vous aider à déterminer celle qui convient le mieux à votre projet.

Qu'est-ce que la bibliothèque PDF Apryse C# ?

La page d'accueil d'Apryse présente son kit de développement logiciel (SDK) de traitement de documents avec des interfaces d'éditeur de code et de visualisation de documents affichées sur des écrans d'ordinateur.

Apryse C# est une bibliothèque PDF complète pour les applications .NET, conçue pour simplifier la manipulation des fichiers PDF dans les environnements C#. Auparavant connu sous le nom de PDFTron SDK, il offre une large gamme de fonctionnalités et d'outils pour les développeurs recherchant des capacités précises de gestion des fichiers PDF.

Quelles sont les principales fonctionnalités offertes par Apryse C# ?

  • Intégration facile avec les projets .NET : Intégration fluide avec .NET, y compris les applications ASP.NET Core et les applications .NET Framework traditionnelles.
  • Création et modification de documents : créez des PDF à partir de zéro ou modifiez des PDF existants, y compris le texte, les images, les formulaires et la manipulation des pages — réorganisation, fusion ou division .
  • Conversion HTML vers PDF : Conversion directe du contenu HTML au format PDF pour les factures, les rapports et la documentation des pages Web.
  • Prise en charge étendue des champs de formulaire : création, modification et remplissage programmatique fiables des champs de formulaire PDF pour les flux de travail automatisés.
  • Extraction de texte et de contenu : extraire le texte et le contenu des fichiers PDF à des fins d'analyse, d'outils de recherche et de gestion de contenu.
  • Sécurité et chiffrement : Sécurité complète incluant le chiffrement des documents , la gestion des autorisations et les signatures numériques.
  • Fonctionnalités PDF avancées : prise en charge des annotations , des signets et des hyperliens pour les PDF interactifs.

Qu'est-ce que la bibliothèque IronPDF pour C# ?

! Page d'accueil d'IronPDF présentant un exemple de code C# pour la conversion HTML vers PDF avec la commande d'installation NuGet

IronPDF est une bibliothèque PDF polyvalente conçue spécifiquement pour les développeurs .NET. Il simplifie la manipulation complexe des fichiers PDF, permettant la création , l'édition et la conversion de documents PDF directement dans les applications C#. Disponible pour plusieurs langages de programmation, dont Java, Python et C#, IronPDF répond à divers besoins de traitement PDF avec efficacité et fiabilité.

Quelles sont les principales fonctionnalités offertes par IronPDF ?

Comment créer une application console C# ?

La création d'une application console dans Visual Studio pose les bases des projets de développement .NET, y compris ceux utilisant des bibliothèques PDF comme IronPDF ou Apryse C#. Suivez ces étapes pour commencer :

Comment lancer Visual Studio ?

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

Comment créer un nouveau projet ?

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

L'écran de démarrage de Visual Studio 2022 affiche le menu " Démarrer " proposant les options suivantes : cloner un dépôt, ouvrir un projet ou une solution, ouvrir un dossier local ou créer un nouveau projet.

Quel type de projet dois-je choisir ?

Dans la fenêtre " Créer un nouveau projet ", vous verrez différents modèles de projet. Saisissez " Console " dans le champ de recherche ou sélectionnez " Application console " dans la liste. Choisissez ensuite le modèle spécifique à C#.

! La boîte de dialogue " Créer un nouveau projet " de Visual Studio affiche différents modèles de projets ASP.NET Core et C#, notamment les options Console App, Blazor Web App et Web API.

Comment configurer mon projet ?

Après avoir sélectionné " Application console ", cliquez sur " Suivant ". Configurez votre nouveau projet :

  • Nom du projet : Saisissez un nom descriptif pour votre projet.
  • Emplacement : Choisissez votre emplacement de sauvegarde préféré.
  • Nom de la solution : par défaut, il s'agit du nom de votre projet, mais vous pouvez le personnaliser.

! Écran de configuration du projet Visual Studio affichant la création d'un nouveau projet d'application console C# nommé " IronPDF vs Apryse " avec l'emplacement du projet et les paramètres de la solution.

  • Framework : Sélectionnez votre version .NET. La dernière version est généralement recommandée, sauf exigences spécifiques contraires.

Écran de configuration de l'application console affichant la sélection du framework .NET 8.0 avec les options pour les instructions de niveau supérieur et la publication AOT native.

Comment puis-je finaliser la création de mon projet ?

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

Quelle est la structure du projet ?

Explorez la structure du projet généré dans le volet Explorateur de solutions. Vous travaillerez principalement avec le fichier Program.cs pour les applications console, dans lequel vous écrirez votre code C#.

Comment installer la bibliothèque IronPDF ?

L'intégration d'IronPDF à votre projet .NET vous permet d'utiliser toutes ses fonctionnalités de manipulation de fichiers PDF. Plusieurs méthodes d'installation offrent une flexibilité en fonction de vos préférences de flux de travail.

Comment installer un package à l'aide du gestionnaire de packages NuGet ?

Le gestionnaire de packages NuGet de Visual Studio fournit une interface graphique pour la gestion des bibliothèques.

  1. Ouvrez votre projet dans Visual Studio.
  2. Cliquez avec le bouton droit sur votre projet dans l'Explorateur de solutions et sélectionnez " Gérer les packages NuGet ".
  3. Cliquez sur l'onglet " Parcourir " et recherchez " IronPdf ".
  4. Sélectionnez IronPDF dans les résultats et cliquez sur " Installer ".

! Gestionnaire de packages NuGet affichant les résultats de recherche de la bibliothèque IronPDF avec la version 2024.2.2 et les packages associés, y compris les dépendances Chrome spécifiques à la plateforme et IronPdf.Slim.

Comment installer en utilisant la ligne de commande ?

La console du gestionnaire de packages permet une installation directe en ligne de commande.

  1. Ouvrez votre projet Visual Studio.
  2. Allez dans Outils > Gestionnaire de package NuGet > Console du gestionnaire de package.
  3. Saisissez la commande suivante :
Install-Package IronPdf

Cette commande installe la dernière version d'IronPDF dans votre projet.

Comment télécharger directement depuis NuGet ?

Vous pouvez télécharger manuellement le package avant l'intégration.

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

Page du package NuGet pour IronPDF version 2024.2.2 : commande d'installation, statistiques de téléchargement (8,2 millions de téléchargements au total) et frameworks compatibles (.NET 5.0, .NET Core 2.0 et .NET Framework 4.6.2).

  1. Ajoutez manuellement le package téléchargé via l'Explorateur de solutions > clic droit sur le projet > " Ajouter > Référence ".

Chaque méthode intègre avec succès IronPDF, vous permettant d'utiliser ses fonctionnalités efficaces de traitement PDF .

Comment installer Apryse C# ?

L'intégration d'Apryse C# dans votre projet varie en fonction de votre environnement .NET Framework ou .NET Core. Les étapes suivantes décrivent le processus d'installation général :

Comment installer Apryse pour .NET Framework ?

  1. Téléchargez le SDK Apryse pour Windows : vous devrez vous rendre sur la page du SDK Apryse pour Windows afin de télécharger le SDK adapté aux applications .NET Framework.

La page de téléchargement de la bibliothèque PDF Apryse C# .NET affiche le bouton de téléchargement du SDK et les exigences de la licence commerciale.

  1. Extraire le SDK : après le téléchargement, extrayez le SDK vers un emplacement 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. Configurez 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 avec le bouton droit sur Références dans votre projet, choisissez " Ajouter une référence ", puis accédez au 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 App.config : assurez-vous que votre fichier App.config comporte le paramètre loadFromRemoteSources activé sur true.

Le SDK inclut des exemples de dossiers que vous pouvez ouvrir et exécuter directement comme solutions. ## Fonctionnalités avancées d'IronPDF

Conversion HTML en PDF

IronPDF est très efficace pour convertir des documents HTML en documents PDF, une fonctionnalité essentielle pour les applications web qui génèrent des rapports, des factures ou des captures d'écran de pages web. La bibliothèque restitue fidèlement le HTML, le CSS et le JavaScript, préservant ainsi la mise en page et les styles du contenu web dans les PDF générés.

Conversion d'une chaîne HTML en PDF

La conversion directe de chaînes HTML en PDF permet la création dynamique de documents à partir de contenu généré par l'application ou de variables stockées. Cette méthode est avantageuse pour créer des rapports, des reçus ou des documents personnalisés en fonction des données saisies par l'utilisateur.

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");
$vbLabelText   $csharpLabel

Conversion d'un fichier HTML en PDF

Si vous avez des fichiers HTML stockés sur votre disque dur, IronPDF peut les convertir en documents PDF. Cette méthode est idéale pour les documents HTML, les modèles ou les rapports existants enregistrés 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");
$vbLabelText   $csharpLabel

Convertir une URL en PDF

IronPDF peut convertir des pages web en direct en documents PDF à partir de leur URL. Cette fonctionnalité capture l'état actuel de la 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("___PROTECTED_URL_100___");

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

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

Prise en charge de Bootstrap et des frameworks CSS modernes

La prise en charge complète des frameworks Bootstrap et CSS est essentielle pour la génération de PDF à partir d'applications web modernes. Les organisations utilisent Bootstrap pour leurs interfaces web, ce qui rend la conversion précise au format PDF essentielle pour les rapports, les factures et la documentation.

Fonctionnalités Bootstrap prises en charge par IronPDF

IronPDF : Support complet de Bootstrap

Bootstrap 5 : Prise en charge complète des mises en page Flexbox, de CSS Grid, des classes utilitaires et des composants responsifs Bootstrap 4 : Systèmes de cartes complets, composants de navigation et utilitaires Flex

  • Tailwind CSS : Toutes les classes utilitaires s'affichent correctement
  • Fondation : Système de grille complet et prise en charge des composants
  • CSS3 moderne : Flexbox complet, CSS Grid, propriétés personnalisées, animations et transitions

IronPDF reproduit la page d'accueil de Bootstrap et tous les exemples officiels avec une précision au pixel près.

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='___PROTECTED_URL_101___ 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='___PROTECTED_URL_101___ 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");
$vbLabelText   $csharpLabel

Résultat : Tableau de bord professionnel au format PDF avec système de grille basé sur Flexbox de Bootstrap 5, composants de carte avec utilitaires de bordure, éléments de badge, tableaux responsifs et indicateurs à code couleur — le tout rendu avec une préservation parfaite de la mise en page et de la typographie.

Limitations du framework CSS d'Apryse

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

  • Prise en charge partielle de Flexbox : les mises en page Bootstrap 4/5 peuvent ne pas s'afficher correctement.
  • Grille CSS limitée : les conceptions modernes basées sur une grille échouent souvent.
  • Contraintes JavaScript : Exécution minimale par rapport aux environnements de navigateur
  • Compatibilité avec le framework : Nécessite des tests approfondis pour les composants Bootstrap

La documentation HTML2PDF avertit explicitement que les styles CSS complexes peuvent ne pas s'afficher comme prévu. Les développeurs signalent des problèmes avec les barres de navigation, les mises en page de cartes basées sur flex et les utilitaires réactifs.

Impact sur le développement : les équipes utilisant Apryse doivent créer du CSS " compatible PDF " en parallèle ou simplifier considérablement les mises en page Bootstrap, ce qui augmente la charge de développement et limite la cohérence de conception entre les sorties web et PDF.

Pour une prise en charge complète du framework Bootstrap avec rendu CSS3 complet, consultez le guide CSS de Bootstrap et Flexbox .

Fusion et division de fichiers PDF

IronPDF simplifie la combinaison de plusieurs documents PDF ou la division des PDF en fichiers plus petits. Cette fonctionnalité est essentielle pour les systèmes de gestion de documents nécessitant une structure de contenu PDF organisée.

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");
$vbLabelText   $csharpLabel

Ajout de filigranes aux PDF

IronPDF vous permet d'ajouter des filigranes aux pages PDF pour y apposer votre marque ou pour indiquer que les documents sont confidentiels. La bibliothèque gère la complexité des filigranes, qu'ils soient textuels ou visuels, offrant ainsi une grande flexibilité d'application et d'affichage.

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("___PROTECTED_URL_102___");

// 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");
```### How Do I Work with PDF Forms?

IronPDF supports complete [interactive PDF form handling](https://ironpdf.com/how-to/create-forms/). You can create, fill, and submit PDF forms programmatically, which is particularly useful for automating form processing or integrating form data collection into your workflows.

```csharp
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;

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

// Render a URL as a PDF
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_102___");

// 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");
```### How Do I Work with PDF Forms?

IronPDF supports complete [interactive PDF form handling](https://ironpdf.com/how-to/create-forms/). You can create, fill, and submit PDF forms programmatically, which is particularly useful for automating form processing or integrating form data collection into your workflows.

```csharp
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");
$vbLabelText   $csharpLabel

! Un formulaire PDF interactif a été généré, présentant divers éléments de formulaire, notamment des champs de texte, des menus déroulants, des boutons radio et des cases à cocher, démontrant ainsi les capacités de création de formulaires.

Comment sécuriser et chiffrer les fichiers PDF ?

IronPDF offre des fonctionnalités fiables pour sécuriser les documents PDF , notamment le chiffrement, les paramètres d'autorisation et les signatures numériques . Ces mesures garantissent la protection des informations sensibles et le maintien de l'intégrité des documents.

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");
$vbLabelText   $csharpLabel

! Boîte de dialogue de saisie du mot de passe avec un champ de texte et deux boutons intitulés " Ouvrir le fichier " et " Annuler "

Quelles sont les options d'édition avancées disponibles ?

IronPDF offre des fonctionnalités d'édition avancées allant au-delà des modifications de base. Cela inclut l'ajout d'en-têtes et de pieds de page , la personnalisation de la mise en page et l'intégration d'images et de polices . Ces fonctionnalités permettent la génération dynamique de PDF et leur personnalisation en fonction des exigences spécifiques des applications.

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");
$vbLabelText   $csharpLabel

! Visionneuse PDF affichant un document de deux pages avec " Ceci est l'en-tête de la première page " sur la page 1 et " Ceci est la 1ère page " comme contenu, avec des vignettes de page visibles dans la barre latérale gauche.

Quelles sont les fonctionnalités avancées offertes par Apryse C# ?

Comment ajouter des annotations et des balises ?

Apryse C# vous permet d' ajouter des annotations et des balises aux documents PDF par programmation. Cela inclut les annotations de texte, les surlignages, les soulignements et les formes — essentiels pour les processus de révision de documents ou l'ajout d'informations supplémentaires.

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);
        }
    }
}
$vbLabelText   $csharpLabel

! Visionneuse PDF affichant un document avec une annotation textuelle indiquant " C'est une annotation ! " et une petite icône de commentaire jaune en dessous.

Comment convertir des documents en PDF ?

Apryse C# permet la conversion de divers formats de documents en PDF, notamment les documents Office , les images et le HTML. Cette fonctionnalité garantit 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);
    }
}
$vbLabelText   $csharpLabel

Comment extraire le contenu d'un PDF ?

Apryse C# excelle dans l'extraction de texte, d'images et d'autres contenus à partir de documents PDF. Cette fonctionnalité prend en charge l'analyse de contenu, l'extraction de données et les applications de recherche d'informations, permettant un traitement efficace du contenu 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"))
        {
            // 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());
            }
        }
    }
}
$vbLabelText   $csharpLabel

! Sortie de la console affichant les données textuelles extraites de la facture, y compris le numéro de facture INV-001, la date du 14 février 2024, le client John Doe et les détails du produit avec des prix totalisant 35,00 $.

Comment sécuriser les fichiers PDF avec Apryse ?

Apryse C# fournit des outils complets pour la sécurisation des documents PDF . Vous pouvez appliquer une protection par mot de passe, chiffrer des documents et gérer les autorisations des utilisateurs afin de protéger les informations sensibles.

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);
        }
    }
}
$vbLabelText   $csharpLabel

Comment puis-je masquer les informations sensibles ?

Apryse C# prend en charge la suppression des informations sensibles dans les documents PDF, ce qui est essentiel pour la conformité et le respect de la vie privée. Cette fonctionnalité permet de supprimer ou de masquer définitivement le texte et les images dans les fichiers 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);
        }
    }
}
$vbLabelText   $csharpLabel

Quelle documentation et quel support sont disponibles ?

Quel type de support IronPDF propose-t-il ?

Documentation : IronPDF propose une documentation complète couvrant des sujets allant des guides de démarrage aux fonctionnalités avancées telles que la conversion HTML vers PDF , l'édition de PDF , la fusion , le fractionnement et la sécurité . La documentation propose un contenu facile à suivre, avec de nombreux exemples de code et des explications vous guidant dans la mise en œuvre des différentes fonctionnalités PDF.

Assistance : IronPDF propose une assistance via plusieurs canaux, notamment par e-mail, par ticket d'assistance et par chat d'assistance technique en direct, où vous pouvez contacter leur équipe technique pour des problèmes spécifiques. Votre application peut immédiatement bénéficier de leur système de retour d'information.

L'interface de chat de l'équipe d'assistance Iron affiche les options permettant de contacter l'assistance technique ou les équipes commerciales de licences.

Quel type de support Apryse C# propose-t-il ?

Documentation : Apryse C# (anciennement PDFTron pour .NET) fournit une documentation détaillée comprenant une référence API complète, des guides pour les développeurs et des exemples de code pour diverses tâches de manipulation de fichiers PDF.

Assistance : Apryse propose une assistance aux développeurs via une communication directe par e-mail avec son équipe technique pour le dépannage et les questions de mise en œuvre. Vous pouvez également poser des questions sur Stack Overflow.

Quelles sont les options de licence et les tarifs ?

Quelles sont les options de licence d'IronPDF ?

IronPDF propose plusieurs options de licence adaptées aux différents besoins des projets. Le prix de départ est de $799 pour une licence Lite. Ces licences varient en fonction du nombre de développeurs, des emplacements et des projets couverts. IronPDF propose également des options de redistribution sans redevance et un support étendu avec une tarification spécifique pour les modules complémentaires.

Les options de licence perpétuelle d'IronPDF comprennent :

  • Édition Lite : coûte $799 , convient à 1 développeur, 1 emplacement et 1 projet, avec assistance par e-mail incluse.
  • Édition Plus : Proposée à $1,199 , elle couvre jusqu'à 3 développeurs, 3 emplacements et 3 projets, avec une assistance par e-mail et chat 24h/24 et une assistance téléphonique.
  • Édition professionnelle : à $2,399 , cette édition est destinée à un maximum de 10 développeurs, 10 emplacements et 10 projets, offrant une assistance complète incluant l'assistance par e-mail, chat, téléphone et partage d'écran.

Ils proposent également un abonnement mensuel à 500 $ comprenant 10 000 appels API, avec des appels supplémentaires à 0,02 $ chacun. Pour une utilisation illimitée, IronPDF propose une solution d'entreprise avec une tarification sur devis. Cette solution inclut, entre autres fonctionnalités, une licence perpétuelle illimitée et des appels API.

! La page de tarification d'IronPDF affiche trois niveaux de licence perpétuelle : Lite (749 $), Plus (1 499 $) et Professionnel (2 999 $), l'option Plus étant sélectionnée, le total s'élève à 2 498 $, support étendu inclus.

Quelles sont les options de licence d'Apryse C# ?

Apryse C# propose une tarification personnalisable en fonction des exigences spécifiques du projet, notamment les fonctionnalités, le volume de documents et les scénarios de déploiement. Vous devez contacter leur équipe commerciale pour obtenir des informations sur les prix d'Apryse .

Formulaire de demande de prix Apryse avec champs pour les informations de contact et les détails d'utilisation de l'application.

Quelle bibliothèque PDF choisir ?

IronPDF et Apryse C# offrent tous deux des fonctionnalités efficaces aux développeurs .NET travaillant avec des fichiers PDF. IronPDF offre un avantage certain grâce à ses nombreuses fonctionnalités de manipulation de fichiers PDF. Il excelle grâce à ses fonctionnalités complètes, notamment l'édition poussée et la fusion de PDF via IronPDF . La suite Iron Suite vous donne accès à de multiples outils à un prix avantageux, dotant votre environnement de développement d'utilitaires fiables pour répondre à divers besoins.

IronPDF se démarque par sa polyvalence globale et sa proposition de valeur dans la plupart des scénarios de traitement de PDF. Votre décision finale doit être en adéquation avec les exigences de votre projet et les fonctionnalités spécifiques nécessaires à son développement.

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 faites à titre d'information uniquement et reflètent les informations publiquement disponibles 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 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
Apryse Logo

Fatigué des renouvellements coûteux et des mises à jour de produit périmées ?

Passez facilement de Apryse grâce à notre soutien à la migration de l'ingénierie et à une meilleure offre.

IronPDF Logo