Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

`CraftMy`PDF vs IronPDF : Quelle bibliothèque de génération de PDF pour les développeurs C# ?

IronPDF propose une conversion HTML vers PDF basée sur le code, avec une prise en charge complète de CSS/JavaScript et une licence perpétuelle à partir de 749 $, tandis que CraftMy PDF offre une conception de modèles basée sur le cloud avec intégration JSON, mais nécessite des abonnements continus et des dépendances API.

CraftMyPDF propose un concepteur de modèles glisser-déposer basé sur le cloud avec intégration de données JSON, tandis qu'IronPDF offre une conversion HTML vers PDF axée sur le code avec une prise en charge complète de CSS/JavaScript pour les développeurs .NET recherchant un contrôle total sur la génération de documents.

Le PDF , ou Portable Document Format, est un format de fichier développé par Adobe pour l'échange de documents. Il préserve la mise en forme, les polices et les images sur tous les appareils, garantissant ainsi une apparence homogène. Les fichiers PDF prennent en charge des fonctions de sécurité , d'interactivité et de compression , ce qui les rend idéaux pour un partage de documents fiable.

Les bibliothèques PDF C# permettent aux développeurs de créer , modifier et extraire du contenu de fichiers PDF par programmation. Ces outils prennent en charge la gestion des formulaires , les signatures numériques et le déploiement multiplateforme . En intégrant des bibliothèques PDF, les développeurs peuvent ajouter des fonctionnalités de génération de documents directement à leurs applications, et simplifier les flux de travail pour la création , l'édition et la gestion des PDF .

Cet article compare deux approches différentes de génération de PDF : la bibliothèque IronPDF C# et l' API Craftmypdf . Cette comparaison examine les fonctionnalités, fournit des exemples de code et aborde les options de licence .

Qu'est-ce que la solution de base de l'API CraftMyPDF ?

! La page d'accueil de CraftMyPDF présente une interface d'éditeur PDF par glisser-déposer avec un modèle de liste de colisage modifié en temps réel.

CraftMyPDF est une API basée sur le cloud permettant de créer des PDF à partir de modèles. Il propose un éditeur web de type glisser-déposer permettant de concevoir des modèles réutilisables sans programmation. La plateforme génère des PDF en fusionnant ces modèles avec des données JSON, prenant en charge la génération de contenu dynamique pour des documents tels que les factures , les rapports et les certificats.

Quelles sont les principales fonctionnalités de CraftMyPDF ?

  1. Éditeur glisser-déposer : Concepteur de modèles visuels ne nécessitant aucune connaissance en programmation.

  2. Réutilisation du modèle : Concevoir une seule fois, utiliser à plusieurs reprises avec différents ensembles de données.

  3. Intégration de données JSON : Fusionnez des données dynamiques avec des modèles via JSON.

  4. Mise en forme avancée et expressions : Mettez en forme les dates, les nombres et les devises de manière dynamique.

  5. Intégrations API : L'API REST prend en charge Zapier, Make.com et les applications personnalisées.

  6. Composants remplissables : Créez des formulaires interactifs avec des champs de texte et des cases à cocher.

  7. Sécurité et conformité : Accès sécurisé aux fichiers PDF grâce à des points de terminaison API régionaux et à la conformité au RGPD.

Qu'est-ce que IronPDF?

IronPDF PDF Library for .NET Developers est une bibliothèque PDF complète pour les applications .NET. Écrit en C#, il génère des PDF d'une précision pixel parfaite à partir de HTML , CSS , JavaScript et d'images . IronPDF simplifie les flux de travail PDF en offrant des fonctionnalités étendues de création, d'édition et de gestion au sein d'environnements .NET .

Quelles sont les principales caractéristiques d'IronPDF ?

  1. Conversion HTML vers PDF : Convertissez HTML, CSS et JavaScript en PDF avec une précision au pixel près .

  2. URL vers PDF : Générez des PDF à partir de n'importe quelle URL , en préservant le contenu et le style adaptatif .

  3. Image vers PDF : Convertissez les formats JPG, PNG, GIF, BMP et SVG en documents PDF avec prise en charge TIFF multi-images .

  4. Remplissage de formulaires et extraction de données : Créez et remplissez des formulaires PDF par programmation avec une validation personnalisée .

  5. Signatures numériques et sécurité : Ajoutez des signatures numériques , des mots de passe et des autorisations avec la prise en charge HSM .

  6. Édition de PDF : Ajouter, copier ou supprimer des pages . Fusionnez et divisez des PDF avec des fonctionnalités de rotation des pages .

  7. Annotations et pièces jointes : Ajoutez des notes autocollantes et intégrez des pièces jointes avec des métadonnées personnalisées .

  8. En-têtes, pieds de page et filigranes : Appliquez des en-têtes, des pieds de page et des filigranes personnalisés avec des modèles HTML .

  9. Compatibilité multiplateforme : fonctionne sous Windows , macOS , Linux , Docker , Azure et AWS .

  10. Optimisation des performances : prise en charge du multithreading et de l'asynchrone pour la génération de volumes importants avec traitement parallèle .

  11. Documentation complète : guides détaillés , tutoriels et assistance technique 24h/24 et 5j/7.

  12. Aucune dépendance externe : déploiement d'une seule DLL sans exigences logicielles supplémentaires utilisant un moteur de rendu natif .

Comment créer une application C# dans Visual Studio ?

La création d'une application console C# nécessite l'installation de Visual Studio sur l'ordinateur. Suivez ces étapes pour configurer le projet :

Comment ouvrir Visual Studio ?

Lancez Visual Studio depuis le menu Démarrer ou l'icône du bureau.

Comment créer un nouveau projet ?

  1. Cliquez sur " Créer un nouveau projet " sur la page d'accueil.
  2. Recherchez " Application console " ou sélectionnez-la dans la liste des modèles.

Comment choisir le modèle de projet ?

Sélectionnez " Application console (.NET Core) " ou " Application console (.NET Framework) " en fonction des exigences. Pour la prise en charge de .NET MAUI , choisissez les modèles MAUI appropriés.

Comment configurer mon projet ?

  1. Nom du projet : Saisissez le nom du projet
  2. Emplacement : Choisissez le répertoire de sauvegarde
  3. Nom de la solution : correspond généralement au nom du projet
  4. Cliquez sur " Créer " pour continuer

Comment installer IronPDF?

IronPDF propose trois méthodes d'installation : gestionnaire de packages NuGet , console du gestionnaire de packages et téléchargement direct. La bibliothèque prend en charge Windows , macOS , Linux et les déploiements cloud .

Comment utiliser le gestionnaire de packages NuGet ?

Dans Visual Studio, cliquez avec le bouton droit sur " Références " ou " Dépendances " dans l'Explorateur de solutions. Sélectionnez " Gérer les packages NuGet ", recherchez " IronPDF " et cliquez sur " Installer ".

Le Gestionnaire de packages NuGet de Visual Studio affiche les résultats de la recherche IronPDF, avec la version principale du package IronPDF (2024.5.2) installée et les packages associés tels que IronPdf.Native.Chrome.Windows et IronPdf.Slim visibles.

Comment utiliser la console du gestionnaire de packages NuGet ?

Ouvrez Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages et exécutez :

Install-Package IronPdf

Comment télécharger un fichier depuis le site web NuGet ?

Rendez-vous sur le site web de NuGet , téléchargez le fichier du package et ajoutez-le comme source de package dans Visual Studio. Pour les déploiements Docker , utilisez des configurations de conteneur spécifiques.

Pour des instructions détaillées, consultez la présentation de l'installation et la configuration avancée de NuGet .

Comment utiliser CraftMyPDF ?

Pour intégrer CraftMyPDF , créez un compte, sélectionnez un forfait et obtenez vos identifiants API.

Comment créer un compte et sélectionner le forfait gratuit ?

  1. Inscription : Inscrivez-vous sur le site web CraftMyPDF
  2. Sélectionnez le forfait gratuit : Choisissez le niveau gratuit pour le développement et les tests
  3. Obtenir la clé API : Accédez à la clé API depuis le tableau de bord de votre compte.

Le tableau de bord CraftMyPDF affiche les détails de l'abonnement au forfait gratuit, les 6 crédits utilisés sur 50 et le journal des modifications récentes, incluant les nouvelles fonctionnalités telles que les champs de signature et les corrections de bugs.

Quelles bibliothèques dois-je installer ?

Installez les packages System.Net.Http , RestSharp et Newtonsoft.Json :

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
$vbLabelText   $csharpLabel

Initialiser le client API :

var client = new RestClient("___PROTECTED_URL_51___");
var request = new RestRequest(Method.Post);
string apiKey = "API Key"; // Replace with your actual API key
string templateId = "Template ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var client = new RestClient("___PROTECTED_URL_51___");
var request = new RestRequest(Method.Post);
string apiKey = "API Key"; // Replace with your actual API key
string templateId = "Template ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
$vbLabelText   $csharpLabel

Comment créer des fichiers PDF ?

Les deux bibliothèques proposent des approches différentes pour la génération de PDF. IronPDF utilise le rendu HTML basé sur du code, tandis que CraftMyPDF utilise des modèles visuels avec liaison de données. IronPDF prend également en charge les conversions Markdown vers PDF et XML vers PDF .

Comment créer des PDF avec IronPDF ?

Comment convertir du HTML en PDF ?

Convertissez directement des chaînes HTML en PDF avec une prise en charge complète du CSS et du rendu JavaScript :

using IronPdf;
public class PDFCreator
{
    public void CreatePdfFromHtml()
    {
        var renderer = new ChromePdfRenderer();
        // Define your HTML string
        string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>";
        // Render the HTML as a PDF document
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
        // Save the PDF document
        pdfDocument.SaveAs("html_output.pdf");
    }
}
using IronPdf;
public class PDFCreator
{
    public void CreatePdfFromHtml()
    {
        var renderer = new ChromePdfRenderer();
        // Define your HTML string
        string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>";
        // Render the HTML as a PDF document
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
        // Save the PDF document
        pdfDocument.SaveAs("html_output.pdf");
    }
}
$vbLabelText   $csharpLabel

Capture d'écran d'un document PDF généré par IronPDF affichant l'en-tête " Bonjour, IronPDF ! " et un exemple de texte illustrant la conversion HTML vers PDF.

Pour plus d'exemples, consultez la page d'exemples de conversion HTML vers PDF . Les développeurs peuvent également définir des marges personnalisées , ajouter des sauts de page et configurer le format du papier .

Comment convertir une URL en PDF ?

Convertir des pages web en PDF tout en préservant l'ensemble du style, y compris le contenu WebGL et le CSS réactif :

using IronPdf;
public class PDFCreator
{
    public void CreatePdfFromUrl(string url)
    {
        // Initialize the ChromePdfRenderer
        var renderer = new ChromePdfRenderer();
        // Render the URL as a PDF document
        var pdfDocument = renderer.RenderUrlAsPdf(url);
        // Save the PDF document
        pdfDocument.SaveAs("url_output.pdf");
    }
}
using IronPdf;
public class PDFCreator
{
    public void CreatePdfFromUrl(string url)
    {
        // Initialize the ChromePdfRenderer
        var renderer = new ChromePdfRenderer();
        // Render the URL as a PDF document
        var pdfDocument = renderer.RenderUrlAsPdf(url);
        // Save the PDF document
        pdfDocument.SaveAs("url_output.pdf");
    }
}
$vbLabelText   $csharpLabel

La page d'accueil d'IronPDF présente un exemple de code C# pour la conversion HTML vers PDF à l'aide de ChromePdfRenderer. La bibliothèque compte 9 229 207 téléchargements sur NuGet et ses principales fonctionnalités.

Apprenez-en davantage sur la conversion d'URL en PDF . Pour les pages authentifiées, consultez la section Connexions aux sites Web TLS et en-têtes de requêtes HTTP .

Comment convertir un fichier HTML en PDF ?

Convertissez des fichiers HTML locaux en PDF avec prise en charge des types de médias CSS et des URL de base :

using IronPdf;
public class PDFCreator
{
    public void CreatePdfFromHtmlFile(string filePath)
    {
        // Initialize the ChromePdfRenderer
        var renderer = new ChromePdfRenderer();
        // Render the HTML file as a PDF document
        var pdfDocument = renderer.RenderHtmlFileAsPdf(filePath);
        // Save the PDF document
        pdfDocument.SaveAs("html_file_output.pdf");
    }
}
using IronPdf;
public class PDFCreator
{
    public void CreatePdfFromHtmlFile(string filePath)
    {
        // Initialize the ChromePdfRenderer
        var renderer = new ChromePdfRenderer();
        // Render the HTML file as a PDF document
        var pdfDocument = renderer.RenderHtmlFileAsPdf(filePath);
        // Save the PDF document
        pdfDocument.SaveAs("html_file_output.pdf");
    }
}
$vbLabelText   $csharpLabel

Consultez le guide de conversion de fichier HTML en PDF pour plus de détails. Pour les fichiers ZIP HTML , IronPDF gère l'extraction automatiquement.

Comment créer des PDF avec l'API CraftMyPDF ?

CraftMyPDF nécessite d'abord la création de modèles, puis la génération de PDF par fusion des données.

Comment créer un modèle ?

  1. Connectez-vous au tableau de bord : accédez à votre compte CraftMyPDF
  2. Créer un nouveau modèle : utilisez l'éditeur glisser-déposer pour concevoir
  3. Enregistrer le modèle : obtenir l'ID du modèle pour les appels API

Tableau de bord de gestion des modèles CraftMyPDF présentant un modèle de facture avec des outils d'édition et des tutoriels

Comment envoyer une demande de génération de PDF ?

Générer des fichiers PDF en envoyant des données JSON au modèle :

using System;
using System.Net;
using System.Threading.Tasks;
using RestSharp;

class Program
{
    static async Task Main(string[] args)
    {
        var client = new RestClient("___PROTECTED_URL_52___");
        var request = new RestRequest(Method.Post);
        string apiKey = "API-Key"; // Replace with your actual API key
        string templateId = "Template-ID"; // Replace with your actual template ID
        request.AddHeader("X-API-KEY", apiKey);
        request.AddHeader("Content-Type", "application/json");
        var body = new
        {
            data = new
            {
                invoice_number = "INV48321",
                date = "2024-05-27",
                due_date = "2024-06-27",
                currency = "EUR",
                discount = 10,
                tax = 5,
                company_name = "Tech Innovations Ltd",
                email = "contact@techinnovations.com",
                client = "Future Solutions GmbH",
                client_address = "1234 Innovation Drive",
                client_address2 = "Berlin",
                client_address3 = "10115",
                items = new[]
                {
                    new { description = "Cloud Hosting Services", quantity = 12, unit_price = 75, total = 900 },
                    new { description = "Custom Web Application", quantity = 3, unit_price = 150, total = 450 },
                    new { description = "Technical Support", quantity = 15, unit_price = 30, total = 450 },
                    new { description = "Digital Marketing Campaign", quantity = 2, unit_price = 500, total = 1000 },
                    new { description = "SEO Optimization", quantity = 5, unit_price = 120, total = 600 }
                },
                gross_total = 3400
            },
            load_data_from = (string)null,
            template_id = templateId,
            version = 8,
            export_type = "json",
            expiration = 60,
            output_file = "output.pdf",
            is_cmyk = false,
            image_resample_res = 600,
            direct_download = 0,
            cloud_storage = 1
        };
        request.AddJsonBody(body);
        RestResponse response = await client.ExecuteAsync(request);
        Console.WriteLine(response.Content);
        if (response.IsSuccessful)
        {
            var content = response.Content;
            dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
            string fileUrl = result.file;
            string localPath = "f:\\downloaded_output.pdf";
            using (WebClient webClient = new WebClient())
            {
                webClient.DownloadFile(fileUrl, localPath);
            }
            Console.WriteLine($"PDF downloaded successfully to {localPath}");
        }
        else
        {
            Console.WriteLine($"Error: {response.Content}");
        }
    }
}
using System;
using System.Net;
using System.Threading.Tasks;
using RestSharp;

class Program
{
    static async Task Main(string[] args)
    {
        var client = new RestClient("___PROTECTED_URL_52___");
        var request = new RestRequest(Method.Post);
        string apiKey = "API-Key"; // Replace with your actual API key
        string templateId = "Template-ID"; // Replace with your actual template ID
        request.AddHeader("X-API-KEY", apiKey);
        request.AddHeader("Content-Type", "application/json");
        var body = new
        {
            data = new
            {
                invoice_number = "INV48321",
                date = "2024-05-27",
                due_date = "2024-06-27",
                currency = "EUR",
                discount = 10,
                tax = 5,
                company_name = "Tech Innovations Ltd",
                email = "contact@techinnovations.com",
                client = "Future Solutions GmbH",
                client_address = "1234 Innovation Drive",
                client_address2 = "Berlin",
                client_address3 = "10115",
                items = new[]
                {
                    new { description = "Cloud Hosting Services", quantity = 12, unit_price = 75, total = 900 },
                    new { description = "Custom Web Application", quantity = 3, unit_price = 150, total = 450 },
                    new { description = "Technical Support", quantity = 15, unit_price = 30, total = 450 },
                    new { description = "Digital Marketing Campaign", quantity = 2, unit_price = 500, total = 1000 },
                    new { description = "SEO Optimization", quantity = 5, unit_price = 120, total = 600 }
                },
                gross_total = 3400
            },
            load_data_from = (string)null,
            template_id = templateId,
            version = 8,
            export_type = "json",
            expiration = 60,
            output_file = "output.pdf",
            is_cmyk = false,
            image_resample_res = 600,
            direct_download = 0,
            cloud_storage = 1
        };
        request.AddJsonBody(body);
        RestResponse response = await client.ExecuteAsync(request);
        Console.WriteLine(response.Content);
        if (response.IsSuccessful)
        {
            var content = response.Content;
            dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
            string fileUrl = result.file;
            string localPath = "f:\\downloaded_output.pdf";
            using (WebClient webClient = new WebClient())
            {
                webClient.DownloadFile(fileUrl, localPath);
            }
            Console.WriteLine($"PDF downloaded successfully to {localPath}");
        }
        else
        {
            Console.WriteLine($"Error: {response.Content}");
        }
    }
}
$vbLabelText   $csharpLabel

! La console de débogage de Visual Studio affiche la génération réussie d'un PDF à partir de l'API CraftMyPDF, avec les détails de la réponse JSON.

Fichier PDF généré :

Facture de Tech Innovations Ltd détaillant divers services technologiques, notamment le référencement (SEO), le marketing digital, le support technique, le développement d'applications web et l'hébergement cloud, pour un total de 2 907,00 € après réduction et taxes.

Comment générer des factures professionnelles avec Bootstrap ?

IronPDF prend en charge les frameworks modernes sans dépendances externes. Cet exemple Bootstrap 5 illustre la génération de factures professionnelles avec une conception réactive et une CSS d'impression :

using IronPdf;

var renderer = new ChromePdfRenderer();

string professionalInvoice = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='___PROTECTED_URL_53___ rel='stylesheet'>
    <style>
        .invoice-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }
        .invoice-table th { background: #f8f9fa; }
        @media print { .invoice-box { page-break-inside: avoid; } }
    </style>
</head>
<body>
    <div class='container my-4'>
        <div class='card shadow-lg invoice-box'>
            <div class='invoice-header p-4'>
                <div class='row align-items-center'>
                    <div class='col-md-8'>
                        <h1 class='mb-0'>INVOICE</h1>
                        <p class='mb-0 opacity-75'>Invoice #INV-2024-0427</p>
                    </div>
                    <div class='col-md-4 text-md-end'>
                        <h3 class='mb-0'>$3,400.00</h3>
                        <small class='opacity-75'>Due: June 27, 2024</small>
                    </div>
                </div>
            </div>

            <div class='card-body p-4'>
                <div class='row mb-4'>
                    <div class='col-md-6'>
                        <h6 class='text-primary text-uppercase mb-2'>From</h6>
                        <strong>Tech Innovations Ltd</strong><br>
                        contact@techinnovations.com
                    </div>
                    <div class='col-md-6 text-md-end'>
                        <h6 class='text-primary text-uppercase mb-2'>Bill To</h6>
                        <strong>Future Solutions GmbH</strong><br>
                        1234 Innovation Drive<br>
                        Berlin, 10115
                    </div>
                </div>

                <table class='table invoice-table'>
                    <thead>
                        <tr>
                            <th>Description</th>
                            <th class='text-center'>Qty</th>
                            <th class='text-end'>Unit Price</th>
                            <th class='text-end'>Total</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>Cloud Hosting Services</td>
                            <td class='text-center'>12</td>
                            <td class='text-end'>€75.00</td>
                            <td class='text-end'>€900.00</td>
                        </tr>
                        <tr>
                            <td>Custom Web Application</td>
                            <td class='text-center'>3</td>
                            <td class='text-end'>€150.00</td>
                            <td class='text-end'>€450.00</td>
                        </tr>
                        <tr>
                            <td>Technical Support</td>
                            <td class='text-center'>15</td>
                            <td class='text-end'>€30.00</td>
                            <td class='text-end'>€450.00</td>
                        </tr>
                        <tr>
                            <td>Digital Marketing Campaign</td>
                            <td class='text-center'>2</td>
                            <td class='text-end'>€500.00</td>
                            <td class='text-end'>€1,000.00</td>
                        </tr>
                        <tr>
                            <td>SEO Optimization</td>
                            <td class='text-center'>5</td>
                            <td class='text-end'>€120.00</td>
                            <td class='text-end'>€600.00</td>
                        </tr>
                    </tbody>
                </table>

                <div class='row justify-content-end'>
                    <div class='col-md-4'>
                        <table class='table table-sm'>
                            <tr>
                                <td>Subtotal:</td>
                                <td class='text-end'><strong>€3,400.00</strong></td>
                            </tr>
                            <tr>
                                <td>Discount (10%):</td>
                                <td class='text-end text-success'>-€340.00</td>
                            </tr>
                            <tr>
                                <td>Tax (5%):</td>
                                <td class='text-end'>€153.00</td>
                            </tr>
                            <tr class='table-primary'>
                                <td><strong>Total Due:</strong></td>
                                <td class='text-end'><strong>€3,213.00</strong></td>
                            </tr>
                        </table>
                    </div>
                </div>

                <div class='alert alert-info mt-4'>
                    <strong>Payment Terms:</strong> Payment due within 30 days. Late payments may incur additional charges.
                </div>

                <div class='row mt-4 pt-3 border-top'>
                    <div class='col-md-6'>
                        <small class='text-muted'>Generated with IronPDF - No external APIs required</small>
                    </div>
                    <div class='col-md-6 text-md-end'>
                        <span class='badge bg-success'>PAID</span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(professionalInvoice);
pdf.SaveAs("professional-invoice.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string professionalInvoice = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='___PROTECTED_URL_53___ rel='stylesheet'>
    <style>
        .invoice-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }
        .invoice-table th { background: #f8f9fa; }
        @media print { .invoice-box { page-break-inside: avoid; } }
    </style>
</head>
<body>
    <div class='container my-4'>
        <div class='card shadow-lg invoice-box'>
            <div class='invoice-header p-4'>
                <div class='row align-items-center'>
                    <div class='col-md-8'>
                        <h1 class='mb-0'>INVOICE</h1>
                        <p class='mb-0 opacity-75'>Invoice #INV-2024-0427</p>
                    </div>
                    <div class='col-md-4 text-md-end'>
                        <h3 class='mb-0'>$3,400.00</h3>
                        <small class='opacity-75'>Due: June 27, 2024</small>
                    </div>
                </div>
            </div>

            <div class='card-body p-4'>
                <div class='row mb-4'>
                    <div class='col-md-6'>
                        <h6 class='text-primary text-uppercase mb-2'>From</h6>
                        <strong>Tech Innovations Ltd</strong><br>
                        contact@techinnovations.com
                    </div>
                    <div class='col-md-6 text-md-end'>
                        <h6 class='text-primary text-uppercase mb-2'>Bill To</h6>
                        <strong>Future Solutions GmbH</strong><br>
                        1234 Innovation Drive<br>
                        Berlin, 10115
                    </div>
                </div>

                <table class='table invoice-table'>
                    <thead>
                        <tr>
                            <th>Description</th>
                            <th class='text-center'>Qty</th>
                            <th class='text-end'>Unit Price</th>
                            <th class='text-end'>Total</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>Cloud Hosting Services</td>
                            <td class='text-center'>12</td>
                            <td class='text-end'>€75.00</td>
                            <td class='text-end'>€900.00</td>
                        </tr>
                        <tr>
                            <td>Custom Web Application</td>
                            <td class='text-center'>3</td>
                            <td class='text-end'>€150.00</td>
                            <td class='text-end'>€450.00</td>
                        </tr>
                        <tr>
                            <td>Technical Support</td>
                            <td class='text-center'>15</td>
                            <td class='text-end'>€30.00</td>
                            <td class='text-end'>€450.00</td>
                        </tr>
                        <tr>
                            <td>Digital Marketing Campaign</td>
                            <td class='text-center'>2</td>
                            <td class='text-end'>€500.00</td>
                            <td class='text-end'>€1,000.00</td>
                        </tr>
                        <tr>
                            <td>SEO Optimization</td>
                            <td class='text-center'>5</td>
                            <td class='text-end'>€120.00</td>
                            <td class='text-end'>€600.00</td>
                        </tr>
                    </tbody>
                </table>

                <div class='row justify-content-end'>
                    <div class='col-md-4'>
                        <table class='table table-sm'>
                            <tr>
                                <td>Subtotal:</td>
                                <td class='text-end'><strong>€3,400.00</strong></td>
                            </tr>
                            <tr>
                                <td>Discount (10%):</td>
                                <td class='text-end text-success'>-€340.00</td>
                            </tr>
                            <tr>
                                <td>Tax (5%):</td>
                                <td class='text-end'>€153.00</td>
                            </tr>
                            <tr class='table-primary'>
                                <td><strong>Total Due:</strong></td>
                                <td class='text-end'><strong>€3,213.00</strong></td>
                            </tr>
                        </table>
                    </div>
                </div>

                <div class='alert alert-info mt-4'>
                    <strong>Payment Terms:</strong> Payment due within 30 days. Late payments may incur additional charges.
                </div>

                <div class='row mt-4 pt-3 border-top'>
                    <div class='col-md-6'>
                        <small class='text-muted'>Generated with IronPDF - No external APIs required</small>
                    </div>
                    <div class='col-md-6 text-md-end'>
                        <span class='badge bg-success'>PAID</span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(professionalInvoice);
pdf.SaveAs("professional-invoice.pdf");
$vbLabelText   $csharpLabel

Résultat : Une facture professionnelle au format PDF avec des en-têtes dégradés Bootstrap 5, des tableaux responsifs et des récapitulatifs de calculs. IronPDF rend tous les dégradés CSS, les styles de tableau et les classes utilitaires avec une précision parfaite - pas d'appels à des API externes, pas de modèles, pas besoin de connexion internet. Contrairement à l'approche en nuage de CraftMyPDF, IronPDF génère les factures instantanément sur votre serveur avec un contrôle total.

À quoi sert ce code ?

  1. Configurer RestClient : Initialiser le client avec le point de terminaison de l'API CraftMyPDF
  2. Ajouter les en-têtes : Inclure la clé API et le type de contenu pour l'authentification
  3. Préparer le corps de la requête : créer un objet JSON avec les données et les options du modèle
  4. Envoyer la requête : Exécuter l'appel API pour générer le PDF
  5. Gestion de la réponse : Télécharger le PDF généré ou afficher un message d'erreur

Quelles sont les principales différences pour les fondateurs techniques ?

Comment se comparent les approches basées sur des modèles et les approches axées sur le code ?

Basé sur un modèle ( CraftMyPDF ) :

  • Les membres non techniques de l'équipe peuvent créer et modifier des modèles.
  • Les modèles sont gérés de manière centralisée dans le tableau de bord cloud.
  • Les modifications apportées aux modèles ne nécessitent pas de déploiement de code
  • Limité par les contraintes de conception du modèle
  • Idéal pour les documents standardisés à la mise en page prévisible

Code-First (IronPDF) :

  • Contrôle total de la mise en page du document via HTML et CSS
  • La prise en charge de JavaScript permet des graphiques et des calculs dynamiques . Les modèles font partie du code source et sont gérés par un système de contrôle de version.
  • Flexibilité de conception illimitée avec n'importe quelle technologie web
  • Idéal pour les documents complexes et dynamiques nécessitant une logique programmatique

Pour les modèles Razor , IronPDF offre une prise en charge native de MVC Core , MVC Framework et Razor Pages .

Quelles sont les implications en termes de coûts à différentes échelles ?

Structure tarifaire CraftMyPDF :

  • Niveau gratuit : 50 appels API/mois avec une limite de 3 modèles
  • Les abonnements payants commencent par des frais mensuels plus élevés
  • Les coûts par PDF augmentent linéairement avec le volume
  • Frais d'abonnement mensuels/annuels récurrents
  • Frais supplémentaires pour les fonctionnalités premium

Structure des coûts d'IronPDF :

  • Essai gratuit pour une évaluation complète
  • Licence perpétuelle unique à partir de $799
  • Aucun coût par PDF ni limite d'utilisation
  • Comprend un an de mises à jour et d'assistance
  • Options de redistribution OEM pour les produits SaaS

Pour les applications traitant plus de 1 000 fichiers PDF par mois, la licence perpétuelle d'IronPDF offre des coûts prévisibles sans frais récurrents. Le calculateur de licences permet d'estimer le coût total de possession. Pensez aux mises à niveau et aux extensions pour les équipes en croissance.

En quoi les flux de travail de développement diffèrent-ils ?

Flux de travail CraftMyPDF :

  1. Le concepteur crée un modèle dans l'interface web
  2. Le développeur associe les champs JSON au modèle
  3. L'intégration de l'API nécessite la configuration d'une authentification.
  4. Les tests nécessitent des appels API et l'utilisation de crédits
  5. Les mises à jour des modèles s'effectuent en dehors du déploiement du code.

Flux de travail IronPDF :

  1. Le développeur écrit le modèle HTML/CSS dans le code
  2. Tests locaux sans limites d'API
  3. Les modèles sont déployés avec le code de l'application
  4. Le contrôle de version suit toutes les modifications
  5. Intégration CI/CD pour les tests automatisés

L'approche autonome d'IronPDF permet des cycles d'itération plus rapides et un développement hors ligne, ce qui est crucial pour un développement rapide. La bibliothèque prend en charge des options de journalisation et de rendu personnalisées pour le débogage.

Qu'en est-il de la confidentialité et de la conformité des données ?

Gestion des données CraftMyPDF :

  • Documents traités sur des serveurs cloud
  • Transmission de données via Internet requise
  • Points d'extrémité régionaux pour la conformité
  • Politiques de stockage temporaire des fichiers
  • Accords de traitement des données par des tiers

Gestion des données IronPDF :

Pour les applications traitant des données clients sensibles, le traitement local d'IronPDF élimine les problèmes de confidentialité liés aux tiers. Les signatures numériques et la protection par mot de passe offrent des couches de sécurité supplémentaires. La bibliothèque prend également en charge les normes PDF/A et PDF/UA pour assurer la conformité.

À quelle vitesse puis-je ajouter de nouveaux types de documents ?

Chronologie CraftMyPDF :

  • Conception du modèle : 1 à 4 heures selon la complexité
  • Cartographie et essais sur le terrain : 1 à 2 heures
  • Sous réserve de la disponibilité du designer
  • Les flux d'approbation des modèles peuvent entraîner des retards.
  • Limité par les capacités de l'éditeur

Chronologie d'IronPDF :

  • Création de modèle HTML : 30 minutes à 2 heures
  • Utilisez des frameworks web existants comme Bootstrap
  • Réutiliser les feuilles de style CSS dans plusieurs documents
  • Testez en local et obtenez un retour d'information immédiat.
  • Déployer de nouveaux types de documents avec des mises à jour régulières

L'approche " code first " d'IronPDF réduit généralement le délai de mise sur le marché des nouveaux types de documents, notamment lorsqu'elle utilise des ressources et des frameworks web existants. La bibliothèque prend en charge les conversions RTF vers PDF , DOCX vers PDF et Markdown vers PDF pour une flexibilité accrue.

Quelles sont les options de licence ?

La page de tarification d'IronPDF présente trois niveaux de licence perpétuelle : Lite (749 $), Plus (1 499 $) et Professionnel (2 999 $), avec un comparatif des fonctionnalités et une option de redistribution sans redevance à 1 499 $.

IronPDF propose des licences perpétuelles avec des frais uniques. La licence Lite ( $799 ) prend en charge les développeurs individuels sur un seul projet. La licence Professionnelle ( $1,199 ) couvre plusieurs projets et développeurs. La licence Enterprise ( $2,399 ) est destinée aux grandes équipes ayant des besoins de déploiement importants. Chaque licence inclut un an d'assistance et de mises à jour. Une licence de redistribution OEM permet la distribution commerciale. Un essai gratuit est disponible pour évaluation. Consultez l'ensemble des options de licence .

CraftMyPDF utilise un système de tarification par abonnement. Le niveau gratuit convient au développement et aux tests avec un nombre limité d'appels API. Les forfaits payants augmentent les limites d'utilisation et ajoutent des fonctionnalités, s'adaptant ainsi aux besoins de l'entreprise. Les abonnements sont gérés via le tableau de bord CraftMyPDF .

Quelle documentation et quel support sont disponibles ?

Que propose IronPDF en matière de documentation et d'assistance ?

IronPDF fournit une documentation complète comprenant des guides détaillés, des exemples et une section de démarrage rapide . Les ressources couvrent l'utilisation de base jusqu'aux configurations avancées. Les canaux d'assistance comprennent une base de connaissances , une assistance par e-mail et des demandes d'assistance technique . L'équipe d'assistance est disponible 24h/24 et 5j/7 pour une aide rapide. Les guides de dépannage traitent des problèmes courants.

La documentation comprend des références API , des tutoriels et des exemples de code pour toutes les fonctionnalités. Les journaux de modifications permettent de suivre les mises à jour et les étapes clés mettent en évidence les versions majeures. Pour obtenir de l'aide concernant la migration, consultez les guides comparant Aspose , iText , Syncfusion et d'autres concurrents .

Que propose CraftMyPdf en matière de documentation et d'assistance ?

CraftMyPDF propose une documentation API détaillant les points de terminaison, les paramètres et des exemples. Les guides couvrent la création de modèles, les requêtes API et la gestion des réponses. Une assistance est disponible par courriel et via les forums communautaires pour toute question ou suggestion.

Quelle solution PDF choisir ?

IronPDF et CraftMyPDF offrent tous deux des solutions performantes de génération de PDF, mais avec des approches distinctes. CraftMyPDF excelle grâce à son concepteur de modèles visuels et à son traitement basé sur le cloud, tandis qu'IronPDF offre un contrôle programmatique complet grâce au rendu HTML .

IronPDF se distingue par son ensemble complet de fonctionnalités répondant aux exigences complexes en matière de documents. Il convertit les fichiers HTML , les URL et les fichiers en PDF tout en prenant en charge des fonctionnalités avancées telles que les signatures numériques , la gestion des formulaires et l'édition de documents . Le déploiement autonome, sans dépendances externes, garantit un fonctionnement fiable sur toutes les plateformes .

Les modèles de licence diffèrent considérablement. Les licences perpétuelles d'IronPDF commencent à $799 avec un essai gratuit pour évaluation. La suite Iron Suite propose neuf produits pour le prix de deux, offrant un rapport qualité-prix exceptionnel pour répondre à tous vos besoins en matière de gestion documentaire.

Pour les développeurs exigeant un contrôle total sur la génération de PDF avec une prise en charge HTML/CSS étendue, une manipulation avancée des documents et des coûts prévisibles, IronPDF offre une solution fiable. Sa documentation exhaustive, son assistance réactive et ses options de déploiement flexibles le rendent adapté à des applications allant de la simple génération de documents aux flux de travail d'entreprise complexes.

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

Quels sont les avantages d'utiliser une bibliothèque PDF C# par rapport à une solution basée sur une API ?

Une bibliothèque PDF complète comme IronPDF offre des fonctionnalités étendues, une intégration transparente avec les environnements de développement .NET, un support robuste et des options de licence rentables, ce qui en fait un excellent choix pour la gestion de documents complexes.

Comment puis-je convertir du contenu HTML en document PDF en utilisant C# ?

Vous pouvez utiliser IronPDF pour convertir du contenu HTML en documents PDF. Il prend en charge HTML5 et CSS3, garantissant que le contenu web est fidèlement reproduit dans les PDF générés.

Quelles fonctionnalités sont mises en avant dans IronPDF pour la génération de PDF ?

IronPDF offre des signatures numériques, le remplissage de formulaires, l'édition de PDF, des annotations et une compatibilité multiplateforme. Il excelle dans la conversion de HTML, d'URL et d'images en PDF avec des performances et une optimisation robustes.

Comment CraftMyPDF gère-t-il la conception de modèles PDF ?

CraftMyPDF propose un éditeur en ligne avec une interface glisser-déposer qui permet aux utilisateurs de concevoir des modèles PDF sans avoir besoin de coder. Il prend en charge l'intégration de données JSON, permettant la création de documents PDF personnalisés.

Quelles sont les options de licence disponibles pour les outils PDF comme IronPDF ?

IronPDF propose des options de licence flexibles, notamment les licences Lite, Professional, et Enterprise moyennant un tarif unique. Il offre également un essai gratuit pour permettre aux nouveaux utilisateurs d'explorer ses fonctionnalités.

Comment puis-je intégrer une API de génération de PDF dans mon application C# ?

Pour intégrer une API de génération de PDF comme CraftMyPDF, vous devez créer un compte, sélectionner un plan approprié, obtenir une clé API et utiliser des bibliothèques telles que System.Net.Http et RestSharp pour effectuer des appels API.

Quelles ressources d'assistance sont disponibles pour les développeurs utilisant IronPDF ?

IronPDF fournit une documentation extensive, des tutoriels et un support technique 24/5. Ces ressources aident les développeurs à mettre en œuvre et à résoudre efficacement les problèmes de la bibliothèque dans leurs projets.

Comment installer IronPDF dans une application C# ?

IronPDF peut être installé via le gestionnaire de packages NuGet dans Visual Studio, en utilisant la console du gestionnaire de packages NuGet, ou en téléchargeant le package directement depuis le site NuGet.

Comment IronPDF améliore-t-il la sécurité et l'interactivité des documents PDF ?

IronPDF prend en charge des fonctionnalités telles que les signatures numériques et la gestion des formulaires, qui améliorent la sécurité et l'interactivité des documents, ce qui le rend adapté pour la gestion complète des 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