"},Manipulation de PDF,Programmation C#,Développement .NET,IronPDF,PDFShift,Visual Studio,Gestionnaire de paquets NuGet,API PDF,Licence logicielle,Conversion PDF basée sur le cloud,Sécurité PDF,Compression PDF,Multithreading,Programmation Asynchrone,ASP.NET Core,Signatures numériques,Extraction de données,Codes-barres et QR Codes,Technologie OCR,Gestion de documents,Comparaison des bibliothèques PDF""> Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une Comparaison entre IronPDF et PDFShift

Le Portable Document Format (PDF) est le format de document le plus populaire pour représenter le texte, les liens, les boutons, les graphiques, et bien plus dans un seul document. Il est presque impossible de manipuler des PDF dans le langage de programmation C# sans utiliser une API PDF pour C#. Dans cet article, nous explorerons comment interagir avec et manipuler des documents PDF en utilisant deux API différentes, et nous comparerons également les deux API sur leurs performances, caractéristiques et licences.

Les API PDF que nous discuterons dans cet article sont :

  • IronPDF
  • PDFShift

1. IronPDF

IronPDF est une API puissante de conversion HTML en PDF. IronPDF est la solution idéale pour convertir des sites HTML dans le développement .NET et .NET Core. Il ne transforme pas seulement HTML, mais possède également une variété de fonctions supplémentaires. IronPDF permet aux développeurs de créer, modifier et récupérer des documents PDF dans des projets .NET Core et .NET Framework. En utilisant le package IronPDF, les développeurs peuvent facilement produire ou modifier des PDF à partir de pages HTML.

Un PDF peut être facilement modifié, estampillé, et des en-têtes et pieds de page peuvent être ajoutés. Il est également incroyablement facile de lire du texte PDF et d'extraire des images. IronPDF utilise un moteur Chromium .NET pour afficher les pages HTML en fichiers PDF.

1.1. Fonctionnalités d'IronPDF

1.1.1. Conversions PDF

Cette fonctionnalité inclut la création de PDFs à partir de différents formats tels que HTML, chaînes HTML, vues MVC, formulaires Web et URLs.

1.1.2. Imagerie PDF

Cela permet aux utilisateurs de créer des images à partir de PDF et de créer des PDF à partir d'images. Il inclut l'extraction d'images, le support de différentes extensions d'images, et l'impression PDF.

1.1.3. Entrée/Sortie de fichiers PDF

IronPDF offre également des fonctionnalités pour le cryptage 128 bits, le verrouillage par mot de passe et la signature numérique.

1.1.4. Éditer des PDF

Cette fonction d'IronPDF offre tous types de formatage PDF, comme ajouter des filigranes, ajouter des pages, supprimer des pages, ajouter des arrière-plans, ajouter des premiers plans, et bien plus. En bref, IronPDF fournit toutes les capacités dont vous avez besoin pour manipuler des PDFs.

1.1.5. Extraction de contenu PDF

Dans de nombreux cas, vous pouvez extraire directement le texte intégré dans les PDFs. Si cela ne fonctionne pas, votre texte est probablement réellement intégré dans une image. Utilisez la bibliothèque IronOCR pour numériser les documents à la recherche de texte visuel, et non de texte brut.

1.1.6. En-têtes et pieds de page

Les en-têtes et pieds de page peuvent être ajoutés lorsqu'un PDF est créé ou ajouté à des PDF existants. La propriété des options d'impression vous permet de concevoir un en-tête et un pied de page pour chaque page de document. Accédez à ces options sur l'objet Rendu PDF Chromium. Cet exemple fonctionne à l'intérieur d'une application console .NET Core.

1.1.7. Compatibilité

IronPDF prend en charge presque tous les systèmes d'exploitation et frameworks compatibles avec C#, y compris les suivants :

  • Windows
  • Linux
  • .NET Core 2.1, 3.0, 3.1, .NET 6 & 5
  • Conformité .NET Standard 2.0 pour une compatibilité universelle
  • Microsoft Azure
  • Amazon Web Services (AWS)
  • Docker

2. PDFShift

PDFShift est un outil API de conversion HTML en PDF qui permet aux organisations de convertir des pages HTML en PDF en quelques secondes. Les conversions parallèles, les requêtes asynchrones, la prise en charge de HTML brut et d'autres capacités sont disponibles via l'outil API basé sur un serveur cloud. PDFShift est une solution simple d'utilisation qui prend en charge une large gamme de langages de développement, dont Ruby, Python, JavaScript, Node et PHP pour faciliter le processus de conversion.

PDFShift permet aux clients d'établir des en-têtes et pieds de page personnalisés, d'appliquer des CSS personnalisés, de crypter des fichiers, et bien plus pour donner aux entreprises un contrôle total sur leurs conversions.

2.1. Fonctionnalités de PDFShift

2.1.1. Conversions parallèles

PDFShift prend en charge les conversions parallèles, permettant aux utilisateurs de convertir plusieurs documents à la fois pour augmenter la vitesse de conversion.

2.1.2. Options avancées pour en-têtes et pieds de page

Créez des en-têtes et pieds de page personnalisés avec des numéros de page, utilisez des CSS et JavaScript personnalisés, cryptez vos documents, et plus.

2.1.3. API de conversion de données HTML brutes en PDF

PDFShift prend en charge la conversion de HTML brut en PDF sans rendre les pages publiques.

2.1.4. PDF à haute précision

PDFShift convertit HTML en documents PDF de haute fidélité en quelques secondes.

2.1.5. Requêtes asynchrones

Pour être alerté lors de la complétion d'une conversion, utilisez notre système sophistiqué en temps réel. Utilisez la puissante API PDFShift pour convertir le HTML en PDF et intégrer le système en seulement trois lignes de code.

3. Créer un Nouveau Projet dans Visual Studio

Ouvrez le logiciel Visual Studio et accédez au menu Fichier. Sélectionnez "nouveau projet" puis choisissez une application console. Dans cet article, nous allons utiliser une application console pour générer des documents PDF.

Entrez le nom du projet et sélectionnez le chemin dans la boîte de texte appropriée. Puis, cliquez sur le bouton créer. Sélectionnez le framework .NET requis, comme indiqué dans la capture d'écran ci-dessous :

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 1 related to 3. Créer un Nouveau Projet dans Visual Studio

Le projet Visual Studio va maintenant générer la structure pour l'application sélectionnée, et si vous avez sélectionné l'application console, Windows, et web application, il ouvrira le fichier program.cs où vous pouvez entrer le code et construire/exécuter l'application.

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 2 related to 3. Créer un Nouveau Projet dans Visual Studio

Nous pouvons maintenant ajouter la bibliothèque et tester le programme.

4. Installer la Bibliothèque IronPDF

La bibliothèque IronPDF peut être téléchargée et installée de quatre manières différentes. Ce sont :

  • Utiliser le gestionnaire de packages NuGet de Visual Studio
  • Utiliser la ligne de commande de Visual Studio
  • Téléchargement direct depuis la page NuGet
  • Téléchargement direct depuis la page IronPDF

4.1 Utilisation du Gestionnaire de Paquets NuGet de Visual Studio

Le logiciel Visual Studio offre l'option Gestionnaire de packages NuGet pour installer directement le package à la solution. La capture d'écran ci-dessous montre comment ouvrir le Gestionnaire de Paquets NuGet.

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 3 related to 4.1 Utilisation du Gestionnaire de Paquets NuGet de Visual Studio

Il offre une boîte de recherche pour afficher la liste des bibliothèques de paquets disponibles depuis le site Web NuGet. Dans le gestionnaire de paquets, nous devons rechercher le mot-clé "IronPDF," comme dans la capture d'écran ci-dessous

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 4 related to 4.1 Utilisation du Gestionnaire de Paquets NuGet de Visual Studio

Dans l'image ci-dessus, nous pouvons voir la liste des packages liés à la recherche. Nous devons sélectionner l'option IronPDF et installer le package dans notre solution.

4.2 Utilisation de la ligne de commande de Visual Studio

Dans le menu Visual Studio, allez à Outils > Gestionnaire de paquets NuGet > Console du gestionnaire de paquets

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 5 related to 4.2 Utilisation de la ligne de commande de Visual Studio

Entrez la ligne suivante dans l'onglet console du gestionnaire de packages :

Install-Package IronPdf

Maintenant, le package se téléchargera/s'installera dans le projet actuel et sera prêt à être utilisé.

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 6 related to 4.2 Utilisation de la ligne de commande de Visual Studio

4.3 Téléchargement direct depuis la page NuGet

La troisième méthode consiste à télécharger le paquet NuGet directement depuis la page Web.

  • Cliquez vers la Page Web du Paquet NuGet IronPDF
  • Sélectionnez l'option de téléchargement de package dans le menu à droite.
  • Double-cliquez sur le package téléchargé ; il sera installé automatiquement.
  • Rechargez maintenant la solution et commencez à l'utiliser dans le projet.

4.4 Téléchargement direct depuis la page IronPDF

Téléchargez le dernier paquet directement depuis la Page de téléchargement IronPDF. Après le téléchargement, suivez les étapes ci-dessous pour ajouter le paquet au projet.

  • Cliquez droit sur le projet depuis la fenêtre de solution.
  • Ensuite, sélectionnez l'option référence et parcourez l'emplacement de la référence téléchargée.
  • Ensuite, cliquez sur OK pour ajouter la référence.

5. Fonctionnement de PDFShift

PDFShift ne peut pas être intégré à un projet — il fonctionne plutôt à distance. Vous devez soumettre une requête POST à l'API de PDFShift en utilisant le package RestClient de C# simplement en donnant votre clé API comme argument utilisateur d'authentification simple. Le serveur reçoit votre demande, la traite et renvoie le fichier de sortie et le travail sur l'API de conversion PDF se fait par requête post HTTP. PDFShift propose une API dans de nombreuses langues et fonctionne à distance pour toutes.

6. Créer des PDF à partir de HTML

Les deux outils comprennent cette fonctionnalité pour la conversion HTML, bien qu'ils le fassent d'une manière quelque peu différente.

6.1. Création de PDF à partir de l'URL en utilisant IronPDF

Créer un fichier PDF en C# en utilisant une URL est aussi facile que l'exemple ci-dessus avec seulement ces trois lignes de code. Le code suivant démontrera comment créer des fichiers PDF à partir d'une URL.

using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();

// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");

// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();

// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");

// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf

Private Renderer = New IronPdf.ChromePdfRenderer()

' Create a PDF from a URL or local file path
Private pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")

' Export to a file or Stream
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

Voici le résultat du code ci-dessus.

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 7 related to 6.1. Création de PDF à partir de l'URL en utilisant IronPDF

6.2. HTML en PDF en utilisant IronPDF

Il est assez facile de convertir HTML en PDF en utilisant la bibliothèque IronPDF .NET en C#.

using IronPdf;

var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
using IronPdf;

var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
Imports IronPdf

Private pdf = New ChromePdfRenderer()
Private doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")
$vbLabelText   $csharpLabel
class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 8 related to 6.2. HTML en PDF en utilisant IronPDF

6.3. Création de PDF à partir de l'URL en utilisant PDFShift

Convertir une URL avec PDFShift est très facile. Tout ce que vous avez à faire est d'envoyer une requête POST avec le paramètre source défini sur l'URL, comme suit :

using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "https://www.example.com"
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "https://www.example.com"
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
Imports System
Imports RestSharp
Imports RestSharp.Authenticators
Imports System.IO

Namespace PDFShiftExample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim client = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
			client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")

			Dim request = New RestRequest(Method.POST)

			Dim json = New With {Key .source = "https://www.example.com"}
			request.AddJsonBody(json)

			Dim response = client.Execute(request)
			If Not response.IsSuccessful Then
				' Handle the unsuccessful response
			Else
				File.WriteAllBytes("result.pdf", response.RawBytes)
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

6.4. HTML en PDF en utilisant PDFShift

PDFShift offre également la conversion directe de HTML en PDF, mais lit le contenu HTML à partir de fichiers HTML.

using System;
using System.IO;
using RestSharp;
using RestSharp.Authenticators;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            string documentContent = File.ReadAllText("document.html");
            var json = new
            {
                source = documentContent
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
using System;
using System.IO;
using RestSharp;
using RestSharp.Authenticators;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            string documentContent = File.ReadAllText("document.html");
            var json = new
            {
                source = documentContent
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
Imports System
Imports System.IO
Imports RestSharp
Imports RestSharp.Authenticators

Namespace PDFShiftExample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim client = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
			client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")

			Dim request = New RestRequest(Method.POST)

			Dim documentContent As String = File.ReadAllText("document.html")
			Dim json = New With {Key .source = documentContent}
			request.AddJsonBody(json)

			Dim response = client.Execute(request)
			If Not response.IsSuccessful Then
				' Handle the unsuccessful response
			Else
				File.WriteAllBytes("result.pdf", response.RawBytes)
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

7. En-têtes et pieds de page personnalisés

Ajouter des en-têtes et des pieds de page aux PDF est indispensable lorsqu'on traite avec des PDF. Les deux outils discutés prennent en charge cette option.

7.1. En-têtes et pieds de page personnalisés en utilisant IronPDF

En utilisant IronPDF, vous pouvez ajouter des en-têtes et des pieds de page de deux manières distinctes.

TextHeaderFooter permet d'ajouter des en-têtes basés sur du texte, avec l'option d'y intégrer des données dynamiques.

HtmlHeaderFooter permet au développeur de restituer des en-têtes et des pieds de page HTML en fichiers PDF, permettant aussi le modélisation de données dynamiques. Il est plus flexible mais plus difficile à utiliser.

using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a coverpage  will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a coverpage  will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Imports IronPdf

Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.FirstPageNumber = 1 ' use 2 if a coverpage  will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica
Renderer.RenderingOptions.TextHeader.FontSize = 12
$vbLabelText   $csharpLabel

7.2. En-têtes et pieds de page personnalisés en utilisant PDFShift

Vous pouvez personnaliser le document résultant en ajoutant un en-tête ou un pied de page personnalisé. Ils sont souvent utilisés pour identifier la page actuelle ou afficher le logo de votre entreprise sur chaque page.

using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "https://quillbot.com/",
                footer = new { source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", spacing = "50px" }
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "https://quillbot.com/",
                footer = new { source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", spacing = "50px" }
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
Imports System
Imports RestSharp
Imports RestSharp.Authenticators
Imports System.IO

Namespace PDFShiftExample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim client = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
			client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")

			Dim request = New RestRequest(Method.POST)

			Dim json = New With {
				Key .source = "https://quillbot.com/",
				Key .footer = New With {
					Key .source = "<div style=""font-size: 12px"">Page {{page}} of {{total}}</div>",
					Key .spacing = "50px"
				}
			}
			request.AddJsonBody(json)

			Dim response = client.Execute(request)
			If Not response.IsSuccessful Then
				' Handle the unsuccessful response
			Else
				File.WriteAllBytes("result.pdf", response.RawBytes)
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

9. Filigranage

Filigraner des PDF en utilisant un langage de programmation est une tâche assez difficile. IronPDF et PDFShift fournissent tous deux un support pour le filigranage des PDF.

9.1. Filigranage en utilisant IronPDF

IronPDF fournit des méthodes pour 'filigraner' des documents PDF avec HTML. Les filigranes peuvent être réglés pour être rendus au-dessus ou en dessous du contenu existant et disposent d'une capacité intégrée pour l'opacité, la rotation, et les hyperliens.

using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf

Private Renderer = New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
Pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText   $csharpLabel
class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 9 related to 9.1. Filigranage en utilisant IronPDF

9.2. Filigranage en utilisant PDFShift

Les utilisateurs ont besoin d'un filigrane pour identifier clairement sur les PDF.

using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "https://www.example.com",
                watermark = new { image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png", offset_x = 50, offset_y = "100px", rotate = 45 }
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "https://www.example.com",
                watermark = new { image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png", offset_x = 50, offset_y = "100px", rotate = 45 }
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
Imports System
Imports RestSharp
Imports RestSharp.Authenticators
Imports System.IO

Namespace PDFShiftExample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim client = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
			client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")

			Dim request = New RestRequest(Method.POST)

			Dim json = New With {
				Key .source = "https://www.example.com",
				Key .watermark = New With {
					Key .image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png",
					Key .offset_x = 50,
					Key .offset_y = "100px",
					Key .rotate = 45
				}
			}
			request.AddJsonBody(json)

			Dim response = client.Execute(request)
			If Not response.IsSuccessful Then
				' Handle the unsuccessful response
			Else
				File.WriteAllBytes("result.pdf", response.RawBytes)
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

8. Support de Bootstrap et des Cadres CSS Modernes

Le développement web moderne repose fortement sur les cadres CSS comme Bootstrap pour un développement rapide de l'interface utilisateur et un design réactif. Les bibliothèques PDF doivent convertir ces cadres avec précision pour maintenir une qualité de document professionnelle.

IronPDF : Support Complet de Bootstrap et des Cadres

Le moteur Chromium d'IronPDF offre un support complet pour les cadres CSS modernes :

  • Bootstrap 5 : Flexbox complet et CSS Grid avec des utilitaires réactifs
  • Bootstrap 4 : Systèmes de cartes complets, navigation, composants de formulaires
  • Tailwind CSS : Toutes les classes utilitaires et modificateurs réactifs
  • Foundation : Systèmes de grille et de composants complets
  • CSS3 moderne : Flexbox, Grid, propriétés personnalisées, animations, transformations

Real-world validation: Bootstrap homepage and Bootstrap templates convert with pixel-perfect accuracy.

Exemple de code : Formulaire de contact avec Bootstrap

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapContact = @"
<!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'>
        <div class='row justify-content-center'>
            <div class='col-lg-8'>
                <div class='card shadow'>
                    <div class='card-header bg-primary text-white'>
                        <h2 class='mb-0'>Contact Us</h2>
                    </div>
                    <div class='card-body'>
                        <form>
                            <div class='row g-3'>
                                <div class='col-md-6'>
                                    <label class='form-label'>First Name</label>
                                    <input type='text' class='form-control' placeholder='John'>
                                </div>
                                <div class='col-md-6'>
                                    <label class='form-label'>Last Name</label>
                                    <input type='text' class='form-control' placeholder='Doe'>
                                </div>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Email Address</label>
                                <div class='input-group'>
                                    <span class='input-group-text'>@</span>
                                    <input type='email' class='form-control' placeholder='john.doe@example.com'>
                                </div>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Subject</label>
                                <select class='form-select'>
                                    <option>General Inquiry</option>
                                    <option>Technical Support</option>
                                    <option>Sales Question</option>
                                    <option>Partnership Opportunity</option>
                                </select>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Message</label>
                                <textarea class='form-control' rows='5' placeholder='Your message here...'></textarea>
                            </div>

                            <div class='d-flex justify-content-between align-items-center mt-4'>
                                <div class='form-check'>
                                    <input class='form-check-input' type='checkbox' id='newsletter'>
                                    <label class='form-check-label' for='newsletter'>
                                        Subscribe to newsletter
                                    </label>
                                </div>
                                <button type='submit' class='btn btn-primary px-4'>Submit</button>
                            </div>
                        </form>
                    </div>
                </div>

                <div class='alert alert-info mt-4 d-flex align-items-center' role='alert'>
                    <svg class='bi flex-shrink-0 me-2' width='24' height='24'></svg>
                    <div>We typically respond within 24 hours during business days.</div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapContact);
pdf.SaveAs("contact-form.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapContact = @"
<!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'>
        <div class='row justify-content-center'>
            <div class='col-lg-8'>
                <div class='card shadow'>
                    <div class='card-header bg-primary text-white'>
                        <h2 class='mb-0'>Contact Us</h2>
                    </div>
                    <div class='card-body'>
                        <form>
                            <div class='row g-3'>
                                <div class='col-md-6'>
                                    <label class='form-label'>First Name</label>
                                    <input type='text' class='form-control' placeholder='John'>
                                </div>
                                <div class='col-md-6'>
                                    <label class='form-label'>Last Name</label>
                                    <input type='text' class='form-control' placeholder='Doe'>
                                </div>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Email Address</label>
                                <div class='input-group'>
                                    <span class='input-group-text'>@</span>
                                    <input type='email' class='form-control' placeholder='john.doe@example.com'>
                                </div>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Subject</label>
                                <select class='form-select'>
                                    <option>General Inquiry</option>
                                    <option>Technical Support</option>
                                    <option>Sales Question</option>
                                    <option>Partnership Opportunity</option>
                                </select>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Message</label>
                                <textarea class='form-control' rows='5' placeholder='Your message here...'></textarea>
                            </div>

                            <div class='d-flex justify-content-between align-items-center mt-4'>
                                <div class='form-check'>
                                    <input class='form-check-input' type='checkbox' id='newsletter'>
                                    <label class='form-check-label' for='newsletter'>
                                        Subscribe to newsletter
                                    </label>
                                </div>
                                <button type='submit' class='btn btn-primary px-4'>Submit</button>
                            </div>
                        </form>
                    </div>
                </div>

                <div class='alert alert-info mt-4 d-flex align-items-center' role='alert'>
                    <svg class='bi flex-shrink-0 me-2' width='24' height='24'></svg>
                    <div>We typically respond within 24 hours during business days.</div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapContact);
pdf.SaveAs("contact-form.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie : Un formulaire de contact professionnel avec les contrôles de formulaire de Bootstrap, mise en page en grille, style de carte et groupes d'entrée — tous rendus avec précision en PDF.

PDFShift : Service Basé sur le Cloud avec Bon Support de Bootstrap

PDFShift est un service API cloud qui fournit une conversion HTML en PDF avec un support général efficace de Bootstrap :

  • API Cloud : Toutes les conversions via appels API HTTP aux serveurs PDFShift
  • Support de Bootstrap : Traite généralement bien les dispositions Bootstrap 4/5
  • Support de CSS3 : Bonne restitution du flexbox et des CSS modernes
  • Nécessite Internet : Ne peut pas générer de PDF hors ligne
  • Paiement par Document : Facturation par conversion, pas par licence de développeur

Considérations clés pour PDFShift :

  • Dépendance Externe : Toute génération de PDF nécessite Internet et la disponibilité de l'API externe
  • Confidentialité des Données : Envoi de contenu HTML à des serveurs tiers pour traitement
  • Frais de Volume : Le tarif par document peut devenir coûteux à grande échelle
  • Latence : Les allers-retours réseau ajoutent du retard à chaque conversion
  • Pas de Capacité Hors Ligne : Ne peut pas fonctionner dans des environnements isolés ou hors ligne

Impact sur le développement : Bien que PDFShift gère bien le Bootstrap, l'architecture cloud introduit des compromis opérationnels :

  1. Coûts par document continus vs licence à vie pour chaque développeur d'IronPDF
  2. Dépendance à un service externe vs traitement local sur site
  3. Considérations sur le traitement des données pour le contenu sensible
  4. Nécessité de connectivité internet vs capacité hors ligne

Pour des applications à grand volume, des exigences sur site, ou le traitement de données sensibles, le modèle de traitement local d'IronPDF offre un meilleur contrôle à long terme et une meilleure valeur.

Pour les meilleures pratiques Bootstrap, consultez le Guide de Bootstrap & Flexbox CSS.

9. Licences

IronPDF est une bibliothèque qui offre une licence développeur gratuite. IronPDF propose également une structure tarifaire spéciale : le package light commence à $799, sans coûts cachés. Il est également possible de redistribuer des produits SaaS et OEM. Toutes les licences incluent une garantie de remboursement de 30 jours, une année de support logiciel et de mises à jour, développement/test/mise en scène/production valide, et une licence perpétuelle (achat unique). Les licences IronPDF offrent des performances maximales pour les besoins utilisateurs. Allez sur ce lien pour voir la Structure Tarifaire et la Licence Complètes d'IronPDF.

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 10 related to 9. Licences

L'API de conversion PDF PDFShift offre cinq différents forfaits de licence sur une base mensuelle et annuelle. Un système de "crédits" est utilisé pour acheter les différents forfaits, et les détails sont énumérés comme suit :

  1. Forfait gratuit (50 crédits par mois)
  2. Startup (500 crédits par mois pour 9$ et 6 000 crédits par an pour 99$)
  3. Boost (2 500 crédits par mois pour 24$ et 30 000 crédits par an pour 240$)
  4. Growth (5 000 crédits par mois pour 39$ et 60 000 crédits par an pour 390$)
  5. Business (25 000 crédits par mois pour 99$)

Il y a également des limites de taille de fichier : le forfait gratuit a une limite de 1MB par fichier, tandis que pour les autres forfaits la limite est de 5MB par fichier.

class="content-img-align-center"> Pdfshift Alternatives Html To Pdf 11 related to 9. Licences

Pour plus d'informations et de prix, visitez la Page de Prix de PDFShift.

10. Conclusion

IronPDF est une application gratuite pour les développeurs indépendants qui offre une variété de fonctionnalités et la capacité de modifier les fichiers PDF et de les convertir dans d'autres formats. IronPDF fournit les meilleurs outils d'édition et de formatage pour le traitement des PDF. Il convertit les résultats HTML en PDF en un fichier vectoriel adapté pour l'impression commerciale de haute qualité. En résultat, vous obtiendrez un PDF clair et de haute qualité. Pour plus de détails, consultez les Informations sur les Licences et les Prix d'Iron Software.

PDFShift est une API de conversion de HTML en PDF qui est de haute qualité, haute fidélité et puissante. Il offre un point de terminaison facile à apprendre avec une série d'outils approchant un ensemble complet de fonctions, ainsi qu'un paquet pour plusieurs langues. PDFShift utilise postMessage pour envoyer des requêtes au serveur capable de traiter la conversion parallèle des documents — ce qui signifie que vous pouvez convertir plusieurs documents en même temps.

Les licences IronPDF sont basées sur le développeur, ce qui signifie que vous devriez toujours acheter une licence basée sur le nombre de développeurs qui utiliseront le produit. Les licences PDFShift, d'autre part, sont basées sur des crédits mensuels et annuels, ce qui signifie que vous recevrez des crédits spécifiques par mois basés sur votre forfait souscrit. IronPDF prend en charge la distribution OME et SaaS, que

PDFShift ne prend pas en charge. Les licences IronPDF sont des achats uniques et vous pouvez les utiliser à vie, tandis que PDFShift propose des licences mensuelles et annuelles.

Après une comparaison rapide des deux outils, nous pouvons conclure que la bibliothèque IronPDF offre nettement plus de fonctionnalités que PDFShift. PDFShift ne fournit qu'un petit nombre de fonctionnalités pour manipuler les PDF. IronPDF convertit les URLs en PDF avec seulement trois lignes de code, mais PDFShift a besoin de beaucoup plus de lignes de code pour être en mesure d'effectuer la même tâche. L'intégration d'IronPDF est facile et peut être effectuée en seulement quelques minutes. PDFShift fonctionne dans un système basé sur le cloud et n'a pas besoin d'être intégré ; cependant, il dépend d'autres API telles que RestSharp, et donc, en fait, il s'agit d'une procédure complexe.

De plus, Iron Software propose actuellement un forfait de cinq outils pour le prix de seulement deux. Les outils inclus dans le Iron Suite sont :

  • IronBarcode
  • IronXL
  • IronOCR
  • IronPDF
  • IronWebScraper

Veuillez visiter cette Page Iron Suite pour explorer l'IRONSUITE.

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

Quels sont les avantages de l'utilisation d'IronPDF pour la manipulation de PDF ?

IronPDF offre un ensemble robuste de fonctionnalités pour la manipulation de PDF, y compris la création de PDF à partir de divers formats, l'extraction d'images, le chiffrement, les capacités d'édition et la compatibilité avec plusieurs plateformes telles que Windows, Linux et les services cloud comme Azure et AWS.

Quelles sont les caractéristiques clés de PDFShift ?

PDFShift est une API basée sur le cloud qui prend en charge des conversions HTML en PDF rapides avec des fonctionnalités telles que les conversions parallèles, les en-têtes personnalisés, les requêtes asynchrones et la compatibilité avec plusieurs langages de programmation.

Comment IronPDF et PDFShift diffèrent-ils en termes de licence ?

IronPDF propose une licence basée sur les développeurs avec un achat unique et une garantie de remboursement de 30 jours. En revanche, PDFShift utilise un système de licence basé sur le crédit avec des plans mensuels et annuels.

IronPDF peut-il être utilisé dans des environnements cloud ?

Oui, IronPDF prend en charge les environnements cloud tels que Microsoft Azure et AWS, ce qui le rend polyvalent pour différents scénarios de déploiement.

Comment ajouter des en-têtes et des pieds de page à un PDF avec IronPDF ?

IronPDF vous permet d'ajouter des en-têtes et des pieds de page aux PDF en utilisant ses méthodes intégrées, qui peuvent être personnalisées pour inclure du texte, des images ou des numéros de page.

Quelles plateformes IronPDF prend-il en charge ?

IronPDF prend en charge presque tous les systèmes d'exploitation et frameworks compatibles avec C#, y compris Windows, Linux, .NET Core, et peut également être utilisé dans des environnements cloud.

Comment puis-je installer IronPDF dans mon projet Visual Studio ?

IronPDF peut être installé en utilisant le gestionnaire de packages NuGet de Visual Studio, la ligne de commande de Visual Studio, ou en téléchargeant directement depuis les pages NuGet ou IronPDF.

Est-il possible d'extraire des images des PDF à l'aide de IronPDF ?

Oui, IronPDF offre des capacités pour extraire des images des PDF, permettant aux développeurs de manipuler et réutiliser les images en dehors du document original.

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