C#/VB.NET : convertir HTML en PDF

2023-07-21 02:47:32

La conversion de contenu HTML en PDF offre de nombreux avantages, notamment la possibilité de le lire hors ligne, ainsi que la préservation du contenu et de la mise en forme avec une haute fidélité. Spire.PDF fournit deux méthodes pour convertir HTML en PDF, l'une consiste à utiliser le plugin QT Web, l'autre à ne pas utiliser le plugin. Nous vous recommandons d'utiliser le plugin QT pour effectuer la conversion.

Les sections suivantes montrent comment rendre une page Web HTML (URL) ou une chaîne HTML dans un document PDF à l'aide de Spire.PDF for .NET avec ou sans le plug-in QT.

Installer Spire.PDF for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.

PM> Install-Package Spire.PDF 

Télécharger le plugin

Si vous choisissez la méthode du plugin, veuillez télécharger le plugin qui correspond à votre système d'exploitation à partir du lien suivant.

Décompressez le package quelque part sur votre disque pour obtenir le dossier "plugins". Dans cet exemple, nous avons enregistré le plugin sous le chemin "F:\Libraries\Plugin\plugins-windows-x64\plugins‪‪".‬‬

C#/VB.NET: Convert HTML to PDF

De plus, nous vous recommandons de définir la "plate-forme cible" de votre projet sur x64 ou x86 en conséquence.

C#/VB.NET: Convert HTML to PDF

Convertir une URL en PDF avec QT Plugin

Voici les étapes pour convertir une URL en PDF en utilisant Spire.PDF avec le plugin QT.

  • Spécifiez le chemin de l'URL à convertir.
  • Spécifiez le chemin du fichier PDF généré.
  • Spécifiez le chemin du plug-in et affectez-le comme valeur de la propriété HtmlConverter.PluginPath.
  • Appelez la méthode HtmlConverter.Convert(string url, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins) pour convertir une URL en un document PDF.
  • C#
  • VB.NET
using Spire.Pdf.Graphics;
    using Spire.Pdf.HtmlConverter.Qt;
    using System.Drawing;
    
    namespace ConvertUrlToPdf
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Specify the URL path
                string url = "https://www.wikipedia.org/";
    
                //Specify the output file path
                string fileName = "UrlToPdf.pdf";
    
                //Specify the plugin path
                 string pluginPath = "F:\\Libraries\\Plugin\\plugins-windows-x64\\plugins";
    
                //Set the plugin path
                 HtmlConverter.PluginPath = pluginPath;
    
                //Convert URL to PDF
                HtmlConverter.Convert(url, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0));
            }
        }
    }

Convertir une chaîne HTML en PDF avec le plugin QT

Voici les étapes pour convertir une chaîne HTML en PDF à l'aide de Spire.PDF avec le plug-in QT.

  • Obtenez la chaîne HTML à partir d'un fichier .html.
  • Spécifiez le chemin du fichier PDF généré.
  • Spécifiez le chemin du plug-in et affectez-le comme valeur de la propriété HtmlConverter.PluginPath.
  • Appelez la méthode HtmlConverter.Convert(string htmlString, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins, Spire.Pdf.HtmlConverter.LoadHtmlType htmlType) pour convertir la chaîne HTML en un document PDF.

Remarque: seuls le style CSS intégré et le style CSS interne peuvent être rendus correctement sur PDF. Si vous avez une feuille de style CSS externe, veuillez la convertir en style CSS intégré ou interne.

  • C#
  • VB.NET
using System.IO;
    using Spire.Pdf.HtmlConverter.Qt;
    using System.Drawing;
    using Spire.Pdf.Graphics;
    
    namespace ConvertHtmlStringToPdfWithPlugin
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Get the HTML string from a .html file
                string htmlString = File.ReadAllText(@"C:\Users\Administrator\Desktop\Document\Html\Sample.html");
    
                //Specify the output file path
                string fileName = "HtmlStringToPdf.pdf";
    
                //Specify the plugin path
                string pluginPath = "F:\\Libraries\\Plugin\\plugins-windows-x64\\plugins";
    
                //Set plugin path
                HtmlConverter.PluginPath = pluginPath;
    
                //Convert HTML string to PDF
                HtmlConverter.Convert(htmlString, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0), Spire.Pdf.HtmlConverter.LoadHtmlType.SourceCode);
            }
        }
    }

Convertir une URL en PDF sans plugin

Voici les étapes pour convertir une URL en PDF en utilisant Spire.PDF sans plugin.

  • Créez un objet PdfDocument.
  • Créez un objet PdfPageSettings et définissez la taille de la page et les marges à travers celui-ci.
  • Créez un objet PdfHtmlLayoutFormat et définissez sa propriété IsWaiting sur true.
  • Spécifiez le chemin de l'URL à convertir.
  • Chargez le code HTML à partir du chemin de l'URL à l'aide de la méthode PdfDocument.LoadFromHTML().
  • Enregistrez le document dans un fichier PDF à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using System;
    using Spire.Pdf;
    using System.Threading;
    using Spire.Pdf.HtmlConverter;
    using System.Drawing;
    
    namespace ConverUrlToPdfWithoutPlugin
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Create a PdfPageSettings object
                PdfPageSettings setting = new PdfPageSettings();
    
                //Save page size and margins through the object
                setting.Size = new SizeF(1000, 1000);
                setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20);
    
                //Create a PdfHtmlLayoutFormat object
                PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();
    
                //Set IsWaiting property to true
                htmlLayoutFormat.IsWaiting = true;
    
                //Specific the URL path to convert
                String url = "https://www.wikipedia.org/";
    
                //Load HTML from a URL path using LoadFromHTML method
                Thread thread = new Thread(() =>
                { doc.LoadFromHTML(url, true, true, false, setting, htmlLayoutFormat); });
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
                thread.Join();
    
                //Save the document to a PDF file
                doc.SaveToFile("UrlToPdf.pdf");
                doc.Close();
            }
        }
    }

Convertir une chaîne HTML en PDF sans plugin

Voici les étapes pour convertir une chaîne HTML en PDF en utilisant Spire.PDF sans plugin.

  • Créez un objet PdfDocument.
  • Créez un objet PdfPageSettings et définissez la taille de la page et les marges à travers celui-ci.
  • Créez un objet PdfHtmlLayoutFormat et définissez sa propriété IsWaiting sur true.
  • Lire la chaîne HTML à partir d'un fichier .html.
  • Chargez le code HTML à partir de la chaîne HTML à l'aide de la méthode PdfDocument.LoadFromHTML().
  • Enregistrez le document dans un fichier PDF à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.HtmlConverter;
    using System.IO;
    using System.Threading;
    using System.Drawing;
    
    namespace ConvertHtmlStringToPdfWithoutPlugin
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Create a PdfPageSettings object
                PdfPageSettings setting = new PdfPageSettings();
    
                //Save page size and margins through the object
                setting.Size = new SizeF(1000, 1000);
                setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20);
    
                //Create a PdfHtmlLayoutFormat object
                PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();
    
                //Set IsWaiting property to true
                htmlLayoutFormat.IsWaiting = true;
    
                //Read html string from a .html file
                string htmlString = File.ReadAllText(@"C:\Users\Administrator\Desktop\Document\Html\Sample.html");
    
                //Load HTML from html string using LoadFromHTML method
                Thread thread = new Thread(() =>
                { doc.LoadFromHTML(htmlString, true, setting, htmlLayoutFormat); });
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
                thread.Join();
    
                //Save to a PDF file
                doc.SaveToFile("HtmlStringToPdf.pdf");
            }
        }
    }

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également