Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une comparaison entre IronPDF et PDFreactor

Les fichiers PDF (Portable Document Format) sont une partie intégrante de nombreux environnements de travail différents, et ils sont souvent essentiels pour des tâches telles que la création de factures ou la préparation de documentation produit. Cependant, de nos jours, il existe de nombreux outils PDF différents disponibles sur le marché, alors comment savoir lequel est adapté à vos besoins ? Aujourd'hui, nous allons comparer les fonctionnalités, le support et les modèles de licence des bibliothèques PDF : PDFreactor et IronPDF.

Un aperçu de IronPDF et PDFreactor

IronPDF est une bibliothèque .NET robuste conçue pour être une solution complète pour toutes les tâches liées aux PDF dans l'écosystème .NET. Il supporte HTML, CSS, JavaScript et divers formats d'image, le rendant hautement adaptable pour les applications basées sur le web. Avec une large gamme de fonctionnalités, y compris la génération, l'édition, la signature et le cryptage de PDF, ainsi qu'une intégration complète avec les frameworks .NET modernes, IronPDF est une solution PDF tout-en-un pour les développeurs .NET.

PDFreactor, d'autre part, est un convertisseur HTML vers PDF de qualité professionnelle qui excelle dans la production de PDF prêts à imprimer de haute qualité, souvent utilisé pour convertir des documents tels que des documents basés sur des données, des rapports ou des fiches techniques. Il est particulièrement performant pour gérer des CSS et JavaScript complexes, garantissant que les PDF résultants sont fidèles au contenu web original. Il est très apprécié pour sa capacité à gérer des dispositions et des styles complexes avec facilité, ce qui le rend adapté à l'édition et à d'autres industries nécessitant un contrôle précis sur la sortie PDF.

Compatibilité multiplateforme

IronPDF :

IronPDF prend en charge une large gamme de plateformes, vous assurant que vous pouvez travailler dans votre environnement préféré. Voici un aperçu de sa compatibilité :

  • Versions .NET :

    • C#, VB.NET, F#
    • .NET Core (8, 7, 6, 5, et 3.1+)
    • .NET Standard (2.0+)
    • .NET Framework (4.6.2+)
  • Environnements d'applications : IronPDF fonctionne dans des environnements tels que Windows, Linux, Mac, Docker, Azure et AWS

  • IDEs : Fonctionne avec des IDEs tels que Microsoft Visual Studio et JetBrains Rider & ReSharper

  • Systèmes d'exploitation et Processeurs : Supporte plusieurs OS & processeurs différents y compris Windows, Mac, Linux, x64, x86, ARM

Pour plus d'informations, veuillez visiter Compatibilité IronPDF.

PDFreactor

  • Versions .NET :

    • .NET Core 2.1+
    • .NET Framework 4.5+
  • Prend en charge : HTML5, CSS3, JavaScript, Java, Python, image Docker, Node.js, et plus.

  • Systèmes d'exploitation : Fonctionne sous Windows, Linux, et macOS ainsi que des systèmes basés sur le cloud comme AWS et Azure.

Comparaison des caractéristiques clés : Fonctionnalité PDF dans IronPDF vs. PDFreactor

Fonctionnalités d'IronPDF

  • Conversion HTML en PDF : IronPDF peut gérer la conversion HTML en PDF, avec son support complet des standards web modernes, vous pouvez être assuré qu'IronPDF retournera systématiquement des PDFs en pixel parfait à partir de votre contenu HTML.

  • Conversion de fichiers PDF : Besoin de convertir d'autres formats de fichiers en PDF ? IronPDF supporte la conversion de nombreux formats de fichiers différents, y compris ; DOCX en PDF, RTF en PDF, Image en PDF, URL en PDF, et même PDF en HTML, tout en maintenant la structure souhaitée du document.

  • Fonctionnalités de sécurité : Avec IronPDF, vous pouvez toujours être rassuré que vos fichiers PDF sensibles sont en sécurité grâce à ses fonctionnalités de sécurité. Utilisez IronPDF pour crypter vos fichiers PDF, définir des mots de passe et définir des autorisations pour vos fichiers PDF.

  • Fonctionnalités d'édition de PDF : Avec IronPDF, vous pouvez éditer des fichiers PDF avec facilité. IronPDF offre des fonctionnalités d'édition telles que l'ajout d'en-têtes et de pieds de page, le tamponnage de texte et d'images sur les pages PDF, l'ajout de filigranes personnalisés aux PDF, le travail avec des formulaires PDF, et la fusion de fichiers PDF.

Pour des informations détaillées sur les fonctionnalités offertes par IronPDF, visitez Fonctionnalités IronPDF.

Fonctionnalités de PDFreactor

  • Conversion HTML en PDF : Le service web PDFreactor se spécialise dans la conversion côté serveur de HTML en PDF, typiquement utilisé dans la conversion de documents dynamiques basés sur des données (tels que des factures, des formulaires, des rapports, etc.) et pour la distribution électronique de PDFs complexes et de haute qualité.

  • Support interactif : Grâce à son support de JavaScript, PDFreactor permet d'intégrer des éléments interactifs tels que des boutons et des formulaires, qui peuvent conserver leur fonctionnalité dans le PDF.

  • Design de mise en page avancé : PDFreactor offre des fonctionnalités avancées de mise en page et de design telles que le contrôle sur la mise en page de la page, le support multi-colonnes, l'ajout d'éléments au PDF, le redimensionnement et la transformation d'éléments, l'ajout d'en-têtes et de pieds de page, et des tailles et orientations de page personnalisables.

Compatibilité avec Bootstrap et les frameworks CSS modernes

Lors de la génération de PDFs à partir d'applications web modernes, le support de Bootstrap et du framework CSS est essentiel. La possibilité de convertir directement des pages web stylisées avec Bootstrap en PDF sans modification de code garantit la cohérence du design et réduit significativement le temps de développement.

IronPDF : Full Bootstrap and CSS Framework Support

  • Bootstrap 5 : Moteur de mise en page flexbox complet, CSS Grid, classes utilitaires, et tous les systèmes de composants
  • Bootstrap 4 : Composants de carte complets, éléments de navigation, utilitaires flexibles et points de rupture réactifs
  • Tailwind CSS: Toutes les classes orientées utilitaire se rendent avec précision dans le navigateur.
  • Foundation : Support complet de la grille et de la bibliothèque de composants
  • CSS3 moderne : Flexbox, CSS Grid, propriétés personnalisées, animations, transitions et transformations

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

Exemple de code : Tableau de bord de suivi des commandes

using IronPdf;

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

var renderer = new ChromePdfRenderer();
string bootstrapTracking = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='mb-4'>Order Tracking - #ORD-2025-0428</h1>

        <div class='row g-4 mb-4'>
            <div class='col-md-4'>
                <div class='card text-center bg-primary text-white h-100'>
                    <div class='card-body'>
                        <h3>Order Placed</h3>
                        <p class='mb-0'>April 20, 2025</p>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card text-center bg-info text-white h-100'>
                    <div class='card-body'>
                        <h3>Processing</h3>
                        <p class='mb-0'>April 21, 2025</p>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card text-center bg-light h-100'>
                    <div class='card-body'>
                        <h3 class='text-muted'>Delivered</h3>
                        <p class='mb-0 text-muted'>Est. April 25, 2025</p>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm mb-4'>
            <div class='card-header bg-white'>
                <h5 class='mb-0'>Shipping Timeline</h5>
            </div>
            <div class='card-body'>
                <ul class='list-group list-group-flush'>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-success me-3'>✓</span>
                        <div class='flex-grow-1'>
                            <strong>Order Confirmed</strong>
                            <p class='mb-0 text-muted'>April 20, 2025 at 2:30 PM</p>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-success me-3'>✓</span>
                        <div class='flex-grow-1'>
                            <strong>Payment Processed</strong>
                            <p class='mb-0 text-muted'>April 20, 2025 at 2:35 PM</p>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-success me-3'>✓</span>
                        <div class='flex-grow-1'>
                            <strong>Order Shipped</strong>
                            <p class='mb-0 text-muted'>April 21, 2025 at 9:00 AM</p>
                            <small class='text-muted'>Tracking: TRK-9876543210</small>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-primary me-3'>→</span>
                        <div class='flex-grow-1'>
                            <strong>In Transit</strong>
                            <p class='mb-0 text-primary'>Currently en route to delivery location</p>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-secondary me-3'>○</span>
                        <div class='flex-grow-1'>
                            <strong>Out for Delivery</strong>
                            <p class='mb-0 text-muted'>Pending</p>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-secondary me-3'>○</span>
                        <div class='flex-grow-1'>
                            <strong>Delivered</strong>
                            <p class='mb-0 text-muted'>Est. April 25, 2025</p>
                        </div>
                    </li>
                </ul>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>Order Details</h5>
            </div>
            <div class='card-body'>
                <div class='table-responsive'>
                    <table class='table mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Item</th>
                                <th>Quantity</th>
                                <th class='text-end'>Price</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>Premium Widget Pro</strong></td>
                                <td>2</td>
                                <td class='text-end'>$199.98</td>
                            </tr>
                            <tr>
                                <td><strong>Standard Gadget</strong></td>
                                <td>1</td>
                                <td class='text-end'>$49.99</td>
                            </tr>
                            <tr>
                                <td colspan='2'><strong>Subtotal</strong></td>
                                <td class='text-end'><strong>$249.97</strong></td>
                            </tr>
                            <tr>
                                <td colspan='2'>Shipping</td>
                                <td class='text-end'>$12.50</td>
                            </tr>
                            <tr class='table-primary'>
                                <td colspan='2'><strong>Total</strong></td>
                                <td class='text-end'><strong>$262.47</strong></td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapTracking);
pdf.SaveAs("order-tracking.pdf");
using IronPdf;

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

var renderer = new ChromePdfRenderer();
string bootstrapTracking = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='mb-4'>Order Tracking - #ORD-2025-0428</h1>

        <div class='row g-4 mb-4'>
            <div class='col-md-4'>
                <div class='card text-center bg-primary text-white h-100'>
                    <div class='card-body'>
                        <h3>Order Placed</h3>
                        <p class='mb-0'>April 20, 2025</p>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card text-center bg-info text-white h-100'>
                    <div class='card-body'>
                        <h3>Processing</h3>
                        <p class='mb-0'>April 21, 2025</p>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card text-center bg-light h-100'>
                    <div class='card-body'>
                        <h3 class='text-muted'>Delivered</h3>
                        <p class='mb-0 text-muted'>Est. April 25, 2025</p>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm mb-4'>
            <div class='card-header bg-white'>
                <h5 class='mb-0'>Shipping Timeline</h5>
            </div>
            <div class='card-body'>
                <ul class='list-group list-group-flush'>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-success me-3'>✓</span>
                        <div class='flex-grow-1'>
                            <strong>Order Confirmed</strong>
                            <p class='mb-0 text-muted'>April 20, 2025 at 2:30 PM</p>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-success me-3'>✓</span>
                        <div class='flex-grow-1'>
                            <strong>Payment Processed</strong>
                            <p class='mb-0 text-muted'>April 20, 2025 at 2:35 PM</p>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-success me-3'>✓</span>
                        <div class='flex-grow-1'>
                            <strong>Order Shipped</strong>
                            <p class='mb-0 text-muted'>April 21, 2025 at 9:00 AM</p>
                            <small class='text-muted'>Tracking: TRK-9876543210</small>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-primary me-3'>→</span>
                        <div class='flex-grow-1'>
                            <strong>In Transit</strong>
                            <p class='mb-0 text-primary'>Currently en route to delivery location</p>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-secondary me-3'>○</span>
                        <div class='flex-grow-1'>
                            <strong>Out for Delivery</strong>
                            <p class='mb-0 text-muted'>Pending</p>
                        </div>
                    </li>
                    <li class='list-group-item d-flex'>
                        <span class='badge bg-secondary me-3'>○</span>
                        <div class='flex-grow-1'>
                            <strong>Delivered</strong>
                            <p class='mb-0 text-muted'>Est. April 25, 2025</p>
                        </div>
                    </li>
                </ul>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>Order Details</h5>
            </div>
            <div class='card-body'>
                <div class='table-responsive'>
                    <table class='table mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Item</th>
                                <th>Quantity</th>
                                <th class='text-end'>Price</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>Premium Widget Pro</strong></td>
                                <td>2</td>
                                <td class='text-end'>$199.98</td>
                            </tr>
                            <tr>
                                <td><strong>Standard Gadget</strong></td>
                                <td>1</td>
                                <td class='text-end'>$49.99</td>
                            </tr>
                            <tr>
                                <td colspan='2'><strong>Subtotal</strong></td>
                                <td class='text-end'><strong>$249.97</strong></td>
                            </tr>
                            <tr>
                                <td colspan='2'>Shipping</td>
                                <td class='text-end'>$12.50</td>
                            </tr>
                            <tr class='table-primary'>
                                <td colspan='2'><strong>Total</strong></td>
                                <td class='text-end'><strong>$262.47</strong></td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapTracking);
pdf.SaveAs("order-tracking.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie : PDF de suivi des commandes professionnel avec système de grille Bootstrap 5, composants de carte, badges, listes de groupes, tableaux réactifs, et mises en page flexbox — tout se rend avec une précision parfaite des couleurs et de l'espacement.

PDFreactor : Bon support de Bootstrap avec dépendance Java

PDFreactor utilise le moteur Prince XML qui offre un bon support de Bootstrap, mais comporte des considérations architecturales :

  • Bon support de Bootstrap 4/5 : Prince XML gère raisonnablement bien les frameworks modernes
  • Exigence en Java : PDFreactor fonctionne sous Java, ajoutant de la complexité au déploiement pour les applications .NET
  • Architecture basée sur le serveur : Nécessite une infrastructure serveur dédiée
  • Modèle de licence : Licences par serveur plutôt que par développeur

Impact sur le développement : Bien que PDFreactor gère efficacement Bootstrap, la dépendance Java et les exigences de serveur ajoutent de la complexité opérationnelle pour les équipes .NET, nécessitant une gestion d'infrastructure supplémentaire et une coordination multiplateforme.

Pour des conseils complets sur le framework Bootstrap et les capacités de rendu CSS3, consultez le Guide CSS Bootstrap & Flexbox.

Comparaison des caractéristiques clés entre IronPDF vs. PDFreactor

Maintenant, examinons de plus près certains cas d'utilisation courants auxquels vous pourriez être confrontés en travaillant avec des fichiers PDF. Dans cette section, nous examinons ces cas d'utilisation et comparons comment IronPDF et PDFreactor les gèrent.

Conversion HTML en PDF

IronPDF :

using IronPdf;

// Enable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
// An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"c:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;

// Enable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
// An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"c:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf

' Enable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()

' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

' Export to a file or Stream
pdf.SaveAs("output.pdf")

' Advanced Example with HTML Assets
' Load external html assets: images, CSS and JavaScript.
' An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "c:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

PDFreactor :

using System.IO;
using RealObjects.PDFreactor.Webservice.Client;

PDFreactor pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest") {
    Timeout = 0
};
var config = new Configuration
{
    Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"
};

Result data = pdfReactor.Convert(config);
BinaryWriter binWriter = new BinaryWriter(new FileStream("test.pdf",
    FileMode.Create,
    FileAccess.Write));
binWriter.Write(data.Document);
binWriter.Close();
using System.IO;
using RealObjects.PDFreactor.Webservice.Client;

PDFreactor pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest") {
    Timeout = 0
};
var config = new Configuration
{
    Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"
};

Result data = pdfReactor.Convert(config);
BinaryWriter binWriter = new BinaryWriter(new FileStream("test.pdf",
    FileMode.Create,
    FileAccess.Write));
binWriter.Write(data.Document);
binWriter.Close();
Imports System.IO
Imports RealObjects.PDFreactor.Webservice.Client

Private pdfReactor As New PDFreactor("https://cloud.pdfreactor.com/service/rest") With {.Timeout = 0}
Private config = New Configuration With {.Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"}

Private data As Result = pdfReactor.Convert(config)
Private binWriter As New BinaryWriter(New FileStream("test.pdf", FileMode.Create, FileAccess.Write))
binWriter.Write(data.Document)
binWriter.Close()
$vbLabelText   $csharpLabel

IronPDF fournit des fichiers PDF de haute fidélité grâce à son utilisation de ChromePdfRenderer et son support des standards web modernes. En utilisant IronPDF pour la conversion HTML en PDF, vous pourrez créer des PDFs parfaits au pixel près à partir de documents HTML, pages web, et plus encore. Bien que PDFreactor soit fier de ses capacités de conversion HTML en PDF et fournisse des documents PDF de haute qualité, il adopte une approche plus manuelle qui nécessite plus de lignes de code.

Pour plus d'exemples d'utilisation d'IronPDF pour la conversion HTML en PDF, visitez IronPDF HTML to PDF.

Chiffrer des documents PDF

IronPDF :

using IronPdf;
using System;

// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;

// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;

// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;

// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System

' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")

' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now

' Edit file security settings
' The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights

' Change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

PDFreactor :

PDFreactor, en raison de sa réputation principalement comme outil de conversion HTML en PDF, n'offre pas de support intégré pour le cryptage des PDF.

IronPDF simplifie le cryptage PDF avec des méthodes C# claires et offre un outil simple d'utilisation mais puissant pour crypter des PDFs. Avec IronPDF, vous aurez un contrôle total sur tout le processus, jusqu'à la définition des paramètres de sécurité. Avec PDFreactor, vous devrez trouver une bibliothèque tierce capable de gérer la tâche de cryptage du PDF car PDFreactor ne le supporte actuellement pas.

Pour plus d'exemples de cryptage, visitez le guide pratique sur ce sujet chez IronPDF.

Rédaction de contenu PDF

IronPDF :

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");

pdf.SaveAs("redacted.pdf");
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");

pdf.SaveAs("redacted.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")

' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")

pdf.SaveAs("redacted.pdf")
$vbLabelText   $csharpLabel

PDFreactor :

PDFreactor ne prend pas en charge la rédaction directement, car son ensemble de fonctionnalités penche plus vers la génération de documents PDF à partir de contenu HTML et la conception de ces PDFs.

IronPDF vous fournit un outil de rédaction concis et facile à utiliser, qui vous permettra de rédiger le contenu de vos documents PDF avec seulement quelques lignes de code. PDFreactor, cependant, ne propose aucun outil de rédaction intégré.

Signature des PDFs

IronPDF :

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);

// Create PdfSignature object
var sig = new PdfSignature(cert);

// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);

// Create PdfSignature object
var sig = new PdfSignature(cert);

// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")

' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)

' Create PdfSignature object
Private sig = New PdfSignature(cert)

' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

PDFreactor :

PDFreactor ne prend pas en charge la signature numérique directement.

La fonction de signature numérique d'IronPDF vous offre un moyen simple et convivial d'automatiser la manière dont vous signez les PDFs. Alors que PDFreactor ne propose aucun support pour l'application de signatures numériques à vos documents PDF.

Pour plus d'informations sur l'application de signatures numériques aux documents PDF avec IronPDF, visitez le guide pratique sur cet outil.

Applique de filigranes aux pages PDF

IronPDF :

using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf

' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()

Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)

pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText   $csharpLabel

PDFreactor :

PDFreactor ne supporte pas le filigrane directement.

L'outil de filigrane intégré d'IronPDF fait usage de HTML et CSS pour fournir un moyen facile d'appliquer des filigranes à vos pages PDF, tout en vous donnant un contrôle total sur l'ensemble du processus, et en n'utilisant que quelques lignes de code.

Vous voulez voir plus de l'outil de filigrane d'IronPDF ? Visitez notre guide pratique sur cet outil !

Estampillage d'images et de texte sur des documents PDF

IronPDF :

using IronPdf;
using IronPdf.Editing;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the text stamper
pdf.ApplyStamp(textStamper);

pdf.SaveAs("stampText.pdf");

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);

pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the text stamper
pdf.ApplyStamp(textStamper);

pdf.SaveAs("stampText.pdf");

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);

pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create text stamper
Private textStamper As New TextStamper() With {
	.Text = "Text Stamper!",
	.FontFamily = "Bungee Spice",
	.UseGoogleFont = True,
	.FontSize = 30,
	.IsBold = True,
	.IsItalic = True,
	.VerticalAlignment = VerticalAlignment.Top
}

' Stamp the text stamper
pdf.ApplyStamp(textStamper)

pdf.SaveAs("stampText.pdf")

' Create image stamper
Dim imageStamper As New ImageStamper(New Uri("/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}

' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)

pdf.SaveAs("stampImage.pdf")
$vbLabelText   $csharpLabel

PDFreactor :

PDFreactor ne prend pas en charge l'estampillage directement

IronPDF offre un outil robuste pour estampiller du texte et des images sur vos documents PDF. Avec une approche qui ressemble de près à HTML et CSS, vous aurez un contrôle total sur le processus de marquage. PDFreactor, cependant, ne propose aucun outil d'estampillage intégré.

Si vous voulez en savoir plus sur les outils d'estampillage d'images et de texte d'IronPDF, n'hésitez pas à visiter notre guide pratique.

Conversion de DOCX en PDF

IronPDF :

using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()

' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

PDFreactor :

PDFreactor ne supporte pas la conversion directe DOCX en PDF, car sa principale orientation est sur la conversion HTML en PDF.

En utilisant IronPDF, vous pouvez convertir vos fichiers DOCX avec son outil de conversion DOCX concis et facile à utiliser. Lorsque vous utilisez PDFreactor, vous devrez installer une bibliothèque de conversion DOCX en PDF pour gérer la conversion car PDFreactor ne supporte pas cette conversion.

Pour un aperçu plus détaillé de l'outil de conversion DOCX en PDF d'IronPDF, visitez le guide pratique sur celui-ci.

Résumé de la comparaison des fonctionnalités

Pdfreactor Html To Pdf Alternative 1 related to Résumé de la comparaison des fonctionnalités

Pour des exemples de code détaillés, visitez la page des exemples de code IronPDF.

Tarification et licences : IronPDF vs. PDFreactor

IronPDF

IronPDF a différents niveaux et fonctionnalités supplémentaires pour l'achat d'une licence. Les développeurs peuvent également acheter Iron Suite qui vous donne accès à tous les produits d'Iron Software au prix de deux. Si vous n'êtes pas prêt à acheter une licence, IronPDF propose un essai gratuit qui dure 30 jours.

  • Licences perpétuelles : Offre une gamme de licences perpétuelles selon la taille de votre équipe, vos besoins en projet et le nombre de sites. Chaque type de licence est accompagné d'un support par courrier électronique.
  • Licence Lite : Cette licence coûte $799 et prend en charge un développeur, une localisation, et un projet.
  • Licence Plus : Soutenant trois développeurs, trois emplacements et trois projets, c'est le prochain niveau après la licence lite et coûte $1,199. La licence Plus offre un support chat et un support par téléphone en plus de l'assistance par e-mail de base.
  • Licence Professionnelle : Cette licence est adaptée aux équipes plus grandes, soutenant dix développeurs, dix emplacements, et dix projets pour $2,399. Elle offre les mêmes canaux de support de contact que les niveaux précédents mais offre également un support par partage d'écran.
  • Redistribution sans redevances : La licence IronPDF offre également une couverture de redistribution sans redevances pour un supplément de $2,399
  • Soutien produit ininterrompu : IronPDF offre l'accès à des mises à jour de produit continues, des mises à jour des fonctionnalités de sécurité, et le support de leur équipe d'ingénierie pour soit $1,199/an ou un achat unique de $2,399 pour une couverture de 5 ans.
  • Iron Suite : Pour $1,498, vous avez accès à tous les produits Iron Software, y compris IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, et IronWebScraper.

Pdfreactor Html To Pdf Alternative 2 related to IronPDF

PDFreactor

  • Licence CPU : C'est le coût de base pour PDFreactor, et est fixé à 2 950 $ pour un support jusqu'à 4 codes CPU et comprend la première année de support et de maintenance.

  • Extensions : En plus de sa licence, PDFreactor propose des extensions telles que ; l'extension de sortie d'image raster, une extension de support et de maintenance d'un an, et une mise à niveau de licence CPU.

Documentation et Support : IronPDF vs. PDFreactor

IronPDF

IronPDF excelle dans la fourniture d'une documentation et d'un support étendus :

  • Documentation complète : Documentation étendue et conviviale couvrant toutes les fonctionnalités.
  • Support 24/5 : Support technique actif disponible.
  • Tutoriels vidéo : Guides vidéo étape par étape disponibles sur YouTube.
  • Forum communautaire : Communauté engagée pour un support supplémentaire.
  • Mises à jour régulières : Mises à jour mensuelles du produit pour assurer les dernières fonctionnalités et correctifs de sécurité.

For more information, check out IronPDF's extensive documentation, and visit the Iron Software YouTube Channel.

PDFreactor

  1. Documentation détaillée : Couvre tous les aspects de la conversion HTML en PDF.
  2. Support par email : Disponible pour les questions techniques et de licence.
  3. Forums communautaires : Engager avec d'autres utilisateurs et développeurs.
  4. Base de connaissances : Accès à des articles et des guides de dépannage.
  5. Services professionnels : Support payant pour des implémentations complexes.

Conclusion

En ce qui concerne la conversion HTML en PDF, IronPDF et PDFreactor sont tous deux des concurrents solides, tous deux sont entièrement capables de créer des documents PDF à partir de contenu HTML. Cependant, si vous recherchez un outil PDF capable de gérer des tâches plus complexes telles que le cryptage, l'application de filigranes, et la conversion de types de fichiers autres que HTML en PDF, alors IronPDF est l'outil qu'il vous faut.

Avec son vaste ensemble de fonctionnalités, sa compatibilité avec les frameworks .NET modernes et son excellent support, IronPDF est un outil puissant à avoir à portée de main. PDFreactor, bien que puissant dans son créneau, manque de certaines des fonctionnalités avancées et de la flexibilité offertes par IronPDF.

Vous pouvez essayer l'essai gratuit de 30 jours pour découvrir leurs fonctionnalités disponibles.

Veuillez noterPDFreactor est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, soutenu ou sponsorisé par PDFreactor. 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

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.

Quelles sont les principales différences entre IronPDF et PDFreactor ?

IronPDF offre une large gamme de fonctionnalités telles que la génération de PDF, l'édition, la signature et le cryptage avec un support robuste pour HTML, CSS, JavaScript et divers formats d'images. PDFreactor se concentre sur la conversion de haute qualité de HTML en PDF, excelle dans la gestion de CSS complexe et JavaScript pour des PDF prêts à être imprimés.

IronPDF peut-il être utilisé sur plusieurs plateformes ?

Oui, IronPDF prend en charge plusieurs plateformes, y compris Windows, Linux, macOS, Docker, Azure et AWS. Il est compatible avec diverses versions de .NET, telles que .NET Core, .NET Standard et .NET Framework.

IronPDF offre-t-il la possibilité d'ajouter des signatures numériques aux documents PDF ?

Oui, IronPDF propose une manière simple d'appliquer des signatures numériques aux PDF grâce à sa fonctionnalité de signature numérique.

Quelles sont les options de support disponibles pour les utilisateurs d'IronPDF ?

IronPDF offre un support complet, y compris une documentation approfondie, un support d'ingénierie 24/5, des tutoriels vidéo, un forum communautaire et des mises à jour régulières pour assister les utilisateurs.

Quels types de licences IronPDF propose-t-il ?

IronPDF offre diverses options de licences, y compris des licences perpétuelles et une option de suite, avec des avantages tels que le support par email et la redistribution sans redevance.

Comment IronPDF gère-t-il les CSS et JavaScript complexes dans les PDF ?

IronPDF prend en charge les CSS et JavaScript complexes dans les PDF, ce qui le rend idéal pour générer des documents web avec des designs complexes et des éléments interactifs.

Est-il possible de crypter des documents PDF avec IronPDF ?

Oui, IronPDF fournit un support intégré pour le cryptage des PDF, vous permettant de sécuriser vos documents avec une protection par mot de passe forte.

Quelles sont les capacités de conversion d'IronPDF au-delà de HTML ?

IronPDF prend en charge la conversion de divers formats de fichiers en PDF, tels que DOCX, RTF et images, tout en maintenant la structure désirée du document.

IronPDF peut-il appliquer des filigranes et des tampons aux fichiers PDF ?

Oui, IronPDF permet aux utilisateurs d'ajouter des filigranes et des tampons aux documents PDF en utilisant HTML et CSS, offrant un contrôle total sur l'apparence.

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