Passer au contenu du pied de page
UTILISATION DE IRONPDF
Comment créer un PDF en C#

Génération de Fichiers PDF en C#

Les documents et rapports Office doivent souvent être convertis en documents PDF à partir d'une grande variété de formats, y compris HTML. Nous pouvons également avoir besoin de générer des fichiers PDF à partir de pages Web ou d'URL. À cette fin, nous avons besoin d'un générateur polyvalent capable de générer des fichiers PDF contenant exactement le même contenu que les fichiers HTML originaux. Dans ce tutoriel, nous apprendrons comment générer des fichiers PDF en C#.

class="hsg-featured-snippet">

Comment générer un PDF en C#

Comment générer des fichiers PDF en C#
  1. Installez la bibliothèque C# pour générer des fichiers PDF.
  2. Générez un document PDF à partir d'une chaîne HTML.
  3. Générez un document PDF à partir d'une URL.
  4. Générez des documents PDF à partir de fichiers sources HTML.
  5. Générez des documents PDF à partir de pages Web ASP.NET.
  6. Ajoutez des en-têtes et des pieds de page personnalisés aux documents PDF générés.
  7. Plus...

Qu'est-ce que IronPDF?

La bibliothèque PDF .NET IronPDF est reconnue par de nombreux concepteurs, en particulier les programmeurs informatiques qui utilisent C#. Vous pouvez sans aucun doute créer une bibliothèque PDF centrale pour .NET avec cet outil exceptionnel.

IronPDF utilise un moteur Chromium .NET pour convertir des pages HTML en documents PDF. Avec HTML en PDF, il n'y a aucune raison d'utiliser des API complexes pour positionner ou planifier des PDF. IronPDF prend en charge les documents Web standard : HTML, ASPX, JS, CSS et images.

Il vous permet également de créer une bibliothèque PDF .NET en utilisant HTML5, CSS, JavaScript et images. Vous pouvez facilement modifier, estampiller et ajouter des en-têtes et des pieds de page à un PDF. De plus, il est extrêmement facile de lire efficacement le contenu PDF avec IronPDF et d'extraire les images.

IronPDF fournit une solution unique à tous les problèmes liés aux PDF. Chaque fois que vous achetez IronPDF, vous obtenez toutes les conversions dans une seule bibliothèque, en plus des tâches liées aux documents PDF, sans nécessiter de conditions supplémentaires. IronPDF est un package complet et un excellent outil pour les concepteurs et les programmeurs C#.

IronPDF nous aide à générer des fichiers PDF à partir de :

  • Chaînes et modèles HTML
  • WebForms ASPX
  • Vues MVC
  • Documents HTML
  • toute URL

Fonctionnalités d'IronPDF

IronPDF vous aide à créer des documents PDF à partir de HTML 4 et 5, CSS et JavaScript et à créer des fichiers PDF à partir d'URLs. Il aide également à charger des URL avec des identifiants de connexion réseau personnalisés, des User-Agents, des proxys, des cookies, des en-têtes HTTP et des variables de formulaire permettant la connexion derrière les formulaires de connexion HTML. Vous pouvez sans grande difficulté extraire des images et du texte d'un PDF et estampiller un nouveau contenu HTML sur n'importe quelle page PDF existante, vous permettant également d'ajouter des en-têtes et pieds de page logiques ou HTML. Il peut facilement charger et extraire des fichiers PDF existants et fusionner et diviser le contenu des documents PDF. Il dispose d'une URL de base personnalisée pour permettre l'accès aux fichiers de ressources sur le Web et accepter le HTML encodé dans toute encodage de document significatif (par défaut en UTF-8). Vous pouvez simplement enregistrer et charger à partir de documents, de données binaires ou de MemoryStreams et transformer des documents PDF en un objet PrintDocument pour imprimer sans Adobe (avec un code minimal) et exporter des documents de journal officiels avec des détails concernant le succès de l'API et les erreurs de débogage dans le code source.

Compatibilité

Il prend en charge les langages .NET comme C#, VB.NET et F#. Il est compatible avec les plateformes .NET telles que .NET 6, 5, Core 2x et 3x, Standard 2 et Framework 4x. Il fonctionne sur des applications comme Console, Web et Bureau, et est pris en charge par Microsoft Windows, Linux, macOS, Docker et Azure OS. Les IDEs pour IronPDF incluent Microsoft Visual Studio, JetBrains ReSharper et Rider.

Étapes pour générer des documents PDF

Tout d'abord, nous devons créer un nouveau projet Visual Studio. J'utiliserai le modèle d'Application Console pour cette démonstration. Vous pouvez utiliser n'importe lequel selon vos besoins et préférences.

Vous pouvez également utiliser votre projet existant dans lequel vous souhaitez ajouter un outil de génération de fichiers PDF.

Créer un projet Visual Studio

Ouvrez Microsoft Visual Studio 2019, ou une autre version. Il est recommandé d'utiliser la dernière version. Cliquez sur "Créer un nouveau projet". Sélectionnez l'application Console C# pour le modèle d'application. Cliquez sur le bouton "Suivant".

Attribuez un nom à votre projet. Je l'ai nommé "C Sharp Generate PDF". Vous pouvez le nommer comme vous le souhaitez. Cliquez sur le bouton "Suivant", et définissez le Framework .NET cible. J'ai défini mon framework .NET cible sur ".NET 5.0", la dernière version stable. Cliquez sur le bouton "Créer". Un nouveau projet sera créé pour vous.

Installer le package NuGet dans Visual Studio

Avant de commencer, nous devons installer la bibliothèque IronPDF. Vous pouvez l'installer en utilisant l'une des trois méthodes suivantes :

Console du gestionnaire de packages

Écrivez la commande suivante dans la console du gestionnaire de packages. Il téléchargera et installera le package pour vous.

Install-Package IronPdf

Image 1

La Solution du Gestionnaire de Packages NuGet

Vous pouvez également installer la bibliothèque Barcode en utilisant la Solution des packages NuGet. Suivez simplement ces étapes :

Cliquez sur Outils > Gestionnaire de packages NuGet > Gérer la solution de packages NuGet.

Image 2

Cela ouvrira le Gestionnaire de packages NuGet pour vous. Cliquez sur "Parcourir" et recherchez IronPDF comme indiqué ci-dessous.

Image 3

Cliquez sur IronPDF et ensuite cliquez sur le bouton "Installer". Cela installera IronPDF dans votre projet. Vous êtes maintenant libre d'utiliser n'importe laquelle de ses fonctions dans votre projet.

Télécharger directement IronPDF ZIP

Alternativement, vous pouvez télécharger le package ZIP IronPDF pour l'intégration.

N'oubliez pas d'ajouter cette instruction en haut de tout fichier de classe .cs utilisant IronPDF :

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Consultez IronPDF sur NuGet pour l'installation et les mises à jour pour en savoir plus sur les mises à jour de version et l'installation.

Il existe d'autres packages NuGet IronPDF disponibles pour les déploiements spécifiques aux cibles Linux, Mac, Azure et AWS qui sont documentés dans le guide d'installation avancée NuGet de IronPDF.

La bibliothèque IronPDF est maintenant installée, passons à l'étape suivante.

Générer des fichiers PDF à partir d'une chaîne HTML

IronPDF peut générer des fichiers PDF à partir de texte HTML assez facilement. L'exemple suivant illustre cette capacité. Utilisez cette option lorsque vous avez seulement besoin d'ajouter un texte simple à votre fichier PDF.

Ajoutez l'espace de noms suivant :

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Utilisez l'exemple de code suivant :

var Renderer = new ChromePdfRenderer();
// Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>")
        .SaveAs("GeneratePDF.pdf");
var Renderer = new ChromePdfRenderer();
// Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>")
        .SaveAs("GeneratePDF.pdf");
Dim Renderer = New ChromePdfRenderer()
' Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf")
$vbLabelText   $csharpLabel

Dans le code ci-dessus, j'ai créé un nouveau ChromePdfRenderer. J'ai ensuite appelé RenderHtmlAsPdf et SaveAs pour le résultat.

Sortie

Exécutez le programme. Il générera un document PDF dans le dossier bin du projet car nous n'avons pas spécifié le chemin.

Image 4

Générez vos premiers fichiers PDF

Après l'installation de la bibliothèque IronPDF, nous pouvons créer facilement un fichier PDF et une page PDF en utilisant seulement quelques lignes de code. Désormais, nous vous aiderons à créer votre premier document PDF en C#. Copiez le code ci-dessous, collez-le dans votre Visual Studio et exécutez le programme.

var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")
$vbLabelText   $csharpLabel

Après l'exécution de votre projet C#, il y aura un fichier nommé "FirstPDFDocument.pdf" dans le dossier bin de votre projet. Double-cliquez sur ledit fichier, et le fichier PDF s'ouvrira dans l'onglet du navigateur.

Image 9

Créer des fichiers PDF en C# ou convertir HTML en PDF se fait en seulement quelques lignes de code en utilisant IronPDF.

Générer un document PDF depuis une URL

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 un PDF à partir d'une URL avec IronPDF.

using IronPdf;

var Renderer = new 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 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 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.

Image 10

D'autres exemples de conversion de sites complexes populaires en PDF.

Image 11

Génération de fichier PDF à partir d'un fichier HTML

Nous pouvons générer un document PDF à partir de fichiers HTML avec des images, du CSS, des formulaires, des hyperliens et du JavaScript. Utilisez cette méthode pour les scénarios où vous avez accès localement au document source.

Cet exemple utilise RenderHtmlFileAsPdf et retourne une variable appelée PDF.

Appelez SaveAs pour enregistrer le résultat dans un fichier PDF.

L'exemple de code suivant suppose qu'il y a un fichier HTML dans le dossier bin du projet.

var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html");
pdf.SaveAs("AccountPdf.pdf");
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html");
pdf.SaveAs("AccountPdf.pdf");
Dim Renderer = New ChromePdfRenderer()
Dim pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html")
pdf.SaveAs("AccountPdf.pdf")
$vbLabelText   $csharpLabel

HTML d'entrée :

Image 5

Sortie du fichier PDF généré :

Image 6

Générer des fichiers PDF à partir d'URLs

Nous pouvons générer des fichiers PDF à partir de pages Web existantes avec quelques lignes de code C# ou VB.NET. Utilisez cette option lorsque vous devez générer un document PDF à partir d'un site Web qui possède déjà un document bien formaté.

Appelez RenderUrlAsPdf pour télécharger le contenu de la page Web afin de pouvoir appeler SaveAs pour enregistrer localement le fichier PDF.

var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");
Dim Renderer = New ChromePdfRenderer()
Dim pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
pdf.SaveAs("wikipedia.pdf")
$vbLabelText   $csharpLabel

Sortie du fichier PDF :

Image 7

Générer un document PDF à partir de Web Forms ASP.NET

Nous pouvons générer un document PDF à partir de formulaires Web ASP.NET au lieu de HTML avec une seule ligne de code. Placez la ligne de code dans la méthode Page_Load du code-behind de la page.

  • Créez une nouvelle application de Web Forms ASP.NET ou ouvrez-en une existante.
  • Installez le package NuGet pour la bibliothèque IronPDF.
  • Importez l'espace de noms IronPDF en utilisant le mot-clé approprié.
  • Ouvrez le code-behind de la page que vous souhaitez rendre en PDF. Par exemple, Default.aspx.cs
  • Écrivez le code suivant à l'intérieur de la fonction Page Load.
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
$vbLabelText   $csharpLabel

Sortie du fichier PDF :

Image 8

Générer des fichiers PDF à partir d'une vue MVC ASP

Nous pouvons générer des documents PDF à partir du framework MVC ASP.

Démarrez l'assistant de nouveau projet dans Visual Studio et choisissez ASP.NET Web Application (.NET Framework) > MVC. Alternativement, ouvrez un projet MVC existant. Ouvrez le fichier HomeController dans le dossier Controllers et remplacez la méthode Index, ou ajoutez un nouveau contrôleur.

Voici un exemple de l'apparence du code :

public ActionResult Index()
{
    var pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
    return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf");
}

public ActionResult About()
{
    ViewBag.Message = "Your application description page.";
    return View();
}

public ActionResult Contact()
{
    ViewBag.Message = "Your contact page.";
    return View();
}
public ActionResult Index()
{
    var pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
    return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf");
}

public ActionResult About()
{
    ViewBag.Message = "Your application description page.";
    return View();
}

public ActionResult Contact()
{
    ViewBag.Message = "Your contact page.";
    return View();
}
Public Function Index() As ActionResult
	Dim pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
	Return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf")
End Function

Public Function About() As ActionResult
	ViewBag.Message = "Your application description page."
	Return View()
End Function

Public Function Contact() As ActionResult
	ViewBag.Message = "Your contact page."
	Return View()
End Function
$vbLabelText   $csharpLabel

Sortie du fichier PDF :

Image 9

Ajouter des en-têtes et des pieds de page

La propriété Print Options vous permet de créer des en-têtes et des pieds de page pour chaque page du fichier PDF. Accédez à ces options sur l'objet ChromePdfRenderer. Cet exemple fonctionne à l'intérieur d'une application console .NET Core.

  • Utilisez ces propriétés de modèle pour construire le contenu.
  • {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}

Écrivez le code suivant :

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
// Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>")
                 .SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
// Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>")
                 .SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1
' Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}"
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12
' Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial"
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf")
$vbLabelText   $csharpLabel

Sortie du fichier PDF avec en-tête et pied de page

Image 10

Ajouter des en-têtes et des pieds de page with HTML

Nous pouvons ajouter du texte, la date, l'heure et des numéros de page dans les en-têtes et pieds de page de notre document PDF.

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 20,
    HtmlFragment = "This is Footer {date}",
};

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>")
                 .SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 20,
    HtmlFragment = "This is Footer {date}",
};

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>")
                 .SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
	.Height = 15,
	.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
	.DrawDividerLine = True
}
ChromePdfRenderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
	.Height = 20,
	.HtmlFragment = "This is Footer {date}"
}

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf")
$vbLabelText   $csharpLabel

Comme ci-dessus, cet exemple fonctionne dans une application console .NET Core. Spécifiez le HTML avec la propriété HtmlFragment.

Image 11

Chiffrer les documents PDF avec un mot de passe

Nous pouvons générer des documents PDF avec des mots de passe. Définissez la propriété "Password" d'un document PDF pour le chiffrer et obliger l'utilisateur à saisir le bon mot de passe pour voir le document. Cet exemple fonctionne dans une application Console .NET Core.

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>")
pdfDocument.Password = "Password@1234"
pdfDocument.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

Sortie du fichier PDF :

Image 12

Fusionner et diviser des documents PDF

Nous pouvons fusionner plusieurs documents PDF en un seul nouveau document PDF. Utilisez le code suivant pour fusionner et diviser.

var ChromePdfRenderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>
{
    PdfDocument.FromFile("AccountPdf.pdf"),
    PdfDocument.FromFile("GeneratePDF.pdf"),
    PdfDocument.FromFile("wikipedia.pdf")
};

var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>
{
    PdfDocument.FromFile("AccountPdf.pdf"),
    PdfDocument.FromFile("GeneratePDF.pdf"),
    PdfDocument.FromFile("wikipedia.pdf")
};

var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
' Join Multiple Existing PDFs into a single document
Dim pdfDocuments = New List(Of PdfDocument) From {PdfDocument.FromFile("AccountPdf.pdf"), PdfDocument.FromFile("GeneratePDF.pdf"), PdfDocument.FromFile("wikipedia.pdf")}

Dim mergedPdfDocument = PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("merged.pdf")
' Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))
' Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
' Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf")
$vbLabelText   $csharpLabel

Utilisez la fonction "Merge" pour fusionner plusieurs fichiers PDF ensemble, ou "CopyPages" pour diviser plusieurs pages à partir d'un document existant. Incluez des PDF dans votre projet comme "Content" pour y accéder par nom de fichier.

Image 13

Extraire des images de documents PDF

Cette fonctionnalité nécessite un package NuGet supplémentaire. Installez System.Drawing.Common. Utilisez ExtractAllText pour obtenir du texte et ExtractAllImages pour obtenir des images.

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();

// Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
    var pageNumber = index + 1;
    var pageText = pdfDocument.ExtractTextFromPage(index);
    var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();

// Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
    var pageNumber = index + 1;
    var pageText = pdfDocument.ExtractTextFromPage(index);
    var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Get all text
Dim allText = pdfDocument.ExtractAllText()
' Get all Images
Dim allImages = pdfDocument.ExtractAllImages()

' Or even find the images and text by page
For index = 0 To pdfDocument.PageCount - 1
	Dim pageNumber = index + 1
	Dim pageText = pdfDocument.ExtractTextFromPage(index)
	Dim pageImages = pdfDocument.ExtractImagesFromPage(index)
Next index
$vbLabelText   $csharpLabel

Vous devez ajouter System.Drawing pour enregistrer les images sous forme de bitmaps.

Activer JavaScript

Nous pouvons activer JavaScript dans notre navigateur en utilisant IronPDF. L'exemple de code ci-dessous nous montre comment activer JavaScript dans notre navigateur Web.

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
    EnableJavaScript = true,
    RenderDelay = 100
};
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
    EnableJavaScript = true,
    RenderDelay = 100
};
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions = New ChromePdfRenderer() With {
	.EnableJavaScript = True,
	.RenderDelay = 100
}
$vbLabelText   $csharpLabel

OCR PDF et extraction de texte

Dans de nombreux cas, vous pouvez extraire directement du texte intégré à partir de documents PDF. Écrivez le code suivant :

PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Get all text 
string Text = PDF.ExtractAllText();
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Get all text 
string Text = PDF.ExtractAllText();
Dim PDF As PdfDocument = PdfDocument.FromFile("GeneratePDF.pdf")
' Get all text 
Dim Text As String = PDF.ExtractAllText()
$vbLabelText   $csharpLabel

Si cela ne fonctionne pas, c'est probablement parce que votre texte est en réalité intégré dans une image.

Utilisez la bibliothèque IronOCR pour scanner les documents pour du texte visuel qui n'est pas du texte brut.

Résumé

Vous pouvez générer des documents PDF, les manipuler et les formater de la manière que vous voulez avec seulement quelques lignes de code. Spécifiez simplement les opérations, et IronPDF s'en occupera. Il existe également une version gratuite pour le développement et un essai gratuit avant l'achat. Il existe d'autres bibliothèques de génération de PDF sur le marché, mais beaucoup sont soit lentes en termes de performance, soit vous obligent à payer pour le développement.

La bibliothèque .NET IronPDF est maintenant disponible avec Iron Suite pour .NET. Iron Suite contient d'autres bibliothèques .NET comme IronXL, IronOCR, IronBarcode, etc. Ces autres bibliothèques sont très utiles pour les développeurs, il est donc recommandé de les essayer. Si vous achetez la suite complète Iron Suite, vous pouvez obtenir les cinq produits pour le prix de seulement deux. Pour plus de détails, cliquez Informations sur la suite IronPDF.

Vous pouvez télécharger un fichier de projet à partir de ce Tutoriel de génération de PDF C# IronPDF.

Questions Fréquemment Posées

Comment puis-je générer un PDF à partir d'une chaîne HTML en C# ?

Vous pouvez générer un PDF à partir d'une chaîne HTML en utilisant la méthode RenderHtmlAsPdf dans ChromePdfRenderer d'IronPDF. Cette méthode convertit le contenu HTML en un format PDF, qui peut ensuite être enregistré à l'aide de la méthode SaveAs.

Puis-je créer des documents PDF à partir d'URL de pages web ?

Oui, vous pouvez créer des PDF à partir d'URL de pages web avec IronPDF. Utilisez la méthode RenderUrlAsPdf de ChromePdfRenderer pour convertir le contenu de la page web en un document PDF.

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

Pour ajouter des en-têtes et des pieds de page à un PDF en C#, utilisez le ChromePdfRenderer d'IronPDF en définissant les propriétés TextHeader et TextFooter dans RenderingOptions. Vous pouvez inclure des éléments dynamiques tels que les numéros de page et les dates.

Est-il possible de crypter des documents PDF en C# ?

Oui, vous pouvez crypter des documents PDF en C# en utilisant IronPDF en définissant la propriété Password de l'objet PdfDocument sur le mot de passe souhaité.

Comment puis-je fusionner ou diviser des fichiers PDF en utilisant C# ?

Avec IronPDF, vous pouvez fusionner plusieurs PDF en un seul document en utilisant la méthode Merge. Pour diviser des documents, vous pouvez utiliser la méthode CopyPages pour extraire des pages spécifiques.

Quelles sont les exigences système pour utiliser IronPDF ?

IronPDF prend en charge les langages .NET tels que C#, VB.NET et F#. Il est compatible avec .NET 6, 5, Core 2.x et 3.x, Standard 2, et Framework 4.x. Il fonctionne sur Windows, Linux, macOS, Docker et Azure OS.

Puis-je extraire des images de fichiers PDF en C# ?

Oui, vous pouvez extraire des images de fichiers PDF en utilisant la méthode ExtractAllImages d'IronPDF. Assurez-vous que le package NuGet System.Drawing.Common est inclus pour la gestion des images.

Comment installer IronPDF dans mon projet C# ?

Installez IronPDF dans votre projet via le gestionnaire de packages NuGet dans Visual Studio en recherchant IronPDF ou en utilisant la console du gestionnaire de packages avec la commande Install-Package IronPdf.

Quelles fonctionnalités supplémentaires offre IronPDF ?

IronPDF propose des fonctionnalités telles que la création de PDF à partir de plusieurs sources, l'ajout d'en-têtes et de pieds de page, le cryptage de documents, l'extraction de texte et d'images, et la conversion de contenu HTML. Il prend également en charge l'exécution de JavaScript et des capacités OCR pour l'extraction de texte à partir de PDF avec images intégrées.

IronPDF est-il compatible avec .NET 10 et quels avantages cela apporte-t-il ?

Oui, IronPDF est entièrement compatible avec .NET 10. Il fonctionne immédiatement dans les projets .NET 10, comme avec les versions précédentes de .NET, sous Windows, Linux, conteneurs et macOS. Vous bénéficiez ainsi de performances d'exécution améliorées, d'une configuration minimale et de l'accès aux nouvelles fonctionnalités du langage C# ainsi qu'à des API compatibles avec l'exécution asynchrone.

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