C#/VB.NET: Converti HTML in PDF

2023-07-21 02:49:25

La conversione di contenuto HTML in PDF offre molti vantaggi, tra cui la possibilità di leggerlo offline, oltre a preservare il contenuto e la formattazione con alta fedeltà. Spire.PDF fornisce due metodi per convertire HTML in PDF, uno è usare il plugin QT Web, l'altro è non usare il plugin. Ti consigliamo di utilizzare il plug-in QT per eseguire la conversione.

Le sezioni seguenti mostrano come eseguire il rendering di una pagina Web HTML (URL) o di una stringa HTML in un documento PDF utilizzando Spire.PDF for .NET con o senza plug-in QT.

Installa Spire.PDF for .NET

Per cominciare, è necessario aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF 

Scarica il plug-in

Se scegli il metodo plugin, scarica il plugin che si adatta al tuo sistema operativo dal seguente link.

Decomprimi il pacchetto da qualche parte sul tuo disco per ottenere la cartella "plugins". In questo esempio, abbiamo salvato il plugin nel percorso "F:\Libraries\Plugin\plugins-windows-x64\plugins‪‪".‬‬

C#/VB.NET: Convert HTML to PDF

Inoltre, ti consigliamo di impostare di conseguenza il "Target della piattaforma" del tuo progetto su x64 o x86.

C#/VB.NET: Convert HTML to PDF

Converti un URL in PDF con QT Plugin

Di seguito sono riportati i passaggi per convertire un URL in PDF utilizzando Spire.PDF con il plug-in QT.

  • Specifica il percorso dell'URL da convertire.
  • Specificare il percorso del file PDF generato.
  • Specificare il percorso del plug-in e assegnarlo come valore della proprietà HtmlConverter.PluginPath.
  • Chiamare il metodo HtmlConverter.Convert(string url, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins) per convertire un URL in un documento 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));
            }
        }
    }

Converti una stringa HTML in PDF con QT Plugin

Di seguito sono riportati i passaggi per convertire una stringa HTML in PDF utilizzando Spire.PDF con il plug-in QT.

  • Ottieni la stringa HTML da un file .html.
  • Specificare il percorso del file PDF generato.
  • Specificare il percorso del plug-in e assegnarlo come valore della proprietà HtmlConverter.PluginPath.
  • Chiama il metodo HtmlConverter.Convert(string htmlString, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins, Spire.Pdf.HtmlConverter.LoadHtmlType htmlType) per convertire la stringa HTML in un documento PDF.

Nota: solo lo stile CSS in linea e lo stile CSS interno possono essere visualizzati correttamente su PDF. Se disponi di un foglio di stile CSS esterno, convertilo in uno stile CSS in linea o interno.

  • 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);
            }
        }
    }

Converti un URL in PDF senza plug-in

Di seguito sono riportati i passaggi per convertire un URL in PDF utilizzando Spire.PDF senza plug-in.

  • Creare un oggetto PdfDocument.
  • Crea un oggetto PdfPageSettings e imposta le dimensioni e i margini della pagina attraverso di esso.
  • Creare un oggetto PdfHtmlLayoutFormat e impostarne la proprietà IsWaiting su true.
  • Specifica il percorso dell'URL da convertire.
  • Carica HTML dal percorso dell'URL utilizzando il metodo PdfDocument.LoadFromHTML().
  • Salvare il documento in un file PDF utilizzando il metodo 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();
            }
        }
    }

Converti una stringa HTML in PDF senza plug-in

Di seguito sono riportati i passaggi per convertire una stringa HTML in PDF utilizzando Spire.PDF senza plug-in.

  • Creare un oggetto PdfDocument.
  • Crea un oggetto PdfPageSettings e imposta le dimensioni e i margini della pagina attraverso di esso.
  • Creare un oggetto PdfHtmlLayoutFormat e impostarne la proprietà IsWaiting su true.
  • Leggere la stringa HTML da un file .html.
  • Carica HTML dalla stringa HTML utilizzando il metodo PdfDocument.LoadFromHTML().
  • Salvare il documento in un file PDF utilizzando il metodo 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");
            }
        }
    }

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni delle funzioni, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche