C#/VB.NET: HTML을 PDF로 변환

2023-07-21 02:50:46

HTML 콘텐츠를 PDF로 변환하면 오프라인에서 읽을 수 있을 뿐만 아니라 콘텐츠와 서식을 높은 충실도로 보존하는 등 많은 이점이 있습니다. Spire.PDF는 두 가지 방법을 제공합니다 HTML을 PDF로 변환, 하나는 QT 웹 플러그인을 사용하는 것이고, 다른 하나는 플러그인을 사용하지 않는 것입니다. QT 플러그인을 사용하여 변환을 수행하는 것이 좋습니다.

다음 섹션에서는 QT 플러그인이 있거나 없는 Spire.PDF for .NET 사용하여 HTML 웹 페이지(URL) 또는 HTML 문자열을 PDF 문서로 렌더링하는 방법을 보여줍니다.

Spire.PDF for .NET 설치

먼저 Spire.PDF for .NET 패키지에 포함된 DLL 파일을 .NET 프로젝트의 참조로 추가해야 합니다. DLL 파일은 다음에서 다운로드할 수 있습니다 이 링크 또는 NuGet을 통해 설치됩니다.

PM> Install-Package Spire.PDF 

플러그인 다운로드

플러그인 방식을 선택하셨다면 아래 링크에서 자신의 운영체제에 맞는 플러그인을 다운로드 받으시기 바랍니다.

"플러그인" 폴더를 가져오려면 디스크 어딘가에 패키지의 압축을 풉니다. 이 예에서는 플러그인을 "F:\Libraries\Plugin\plugins-windows-x64\plugins‪‪".‬‬" 경로에 저장했습니다.

C#/VB.NET: Convert HTML to PDF

또한 그에 따라 프로젝트의 "플랫폼 대상"을 x64 또는 x86으로 설정하는 것이 좋습니다.

C#/VB.NET: Convert HTML to PDF

QT 플러그인을 사용하여 URL을 PDF로 변환

다음은 QT 플러그인과 함께 Spire.PDF를 사용하여 URL을 PDF로 변환하는 단계입니다.

  • 변환할 URL 경로를 지정합니다.
  • 생성된 PDF 파일의 경로를 지정합니다.
  • 플러그인 경로를 지정하고 HtmlConverter.PluginPath 속성 값으로 할당합니다.
  • HtmlConverter.Convert(string url, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins) 메서드를 호출하여 URL을 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));
            }
        }
    }

QT 플러그인을 사용하여 HTML 문자열을 PDF로 변환

다음은 QT 플러그인과 함께 Spire.PDF를 사용하여 HTML 문자열을 PDF로 변환하는 단계입니다.

  • .html 파일에서 HTML 문자열을 가져옵니다.
  • 생성된 PDF 파일의 경로를 지정합니다.
  • 플러그인 경로를 지정하고 HtmlConverter.PluginPath 속성 값으로 할당합니다.
  • HtmlConverter.Convert(string htmlString, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins, Spire.Pdf.HtmlConverter.LoadHtmlType htmlType) 메서드를 호출하여 HTML 문자열을 PDF 문서로 변환합니다.

참고: 인라인 CSS 스타일과 내부 CSS 스타일만 PDF에서 올바르게 렌더링할 수 있습니다. 외부 CSS 스타일 시트가 있는 경우 인라인 또는 내부 CSS 스타일로 변환하십시오.

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

플러그인 없이 URL을 PDF로 변환

다음은 플러그인 없이 Spire.PDF를 사용하여 URL을 PDF로 변환하는 단계입니다.

  • PdfDocument 개체를 만듭니다.
  • PdfPageSettings 개체를 만들고 이를 통해 페이지 크기와 여백을 설정합니다.
  • PdfHtmlLayoutFormat 개체를 만들고 해당 개체의 IsWaiting 속성을 true로 설정합니다.
  • 변환할 URL 경로를 지정합니다.
  • PdfDocument.LoadFromHTML() 메서드를 사용하여 URL 경로에서 HTML을 로드합니다.
  • PdfDocument.SaveToFile() 메서드를 사용하여 문서를 PDF 파일로 저장합니다.
  • 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();
            }
        }
    }

플러그인 없이 HTML 문자열을 PDF로 변환

다음은 플러그인 없이 Spire.PDF를 사용하여 HTML 문자열을 PDF로 변환하는 단계입니다.

  • PdfDocument 개체를 만듭니다.
  • PdfPageSettings 개체를 만들고 이를 통해 페이지 크기와 여백을 설정합니다.
  • PdfHtmlLayoutFormat 개체를 만들고 해당 개체의 IsWaiting 속성을 true로 설정합니다.
  • .html 파일에서 HTML 문자열을 읽습니다.
  • PdfDocument.LoadFromHTML() 메서드를 사용하여 HTML 문자열에서 HTML을 로드합니다.
  • PdfDocument.SaveToFile() 메서드를 사용하여 문서를 PDF 파일로 저장합니다.
  • 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");
            }
        }
    }

임시 면허 신청

생성된 문서에서 평가 메시지를 제거하거나 기능 제한을 제거하려면 다음을 수행하십시오 30일 평가판 라이선스 요청 자신을 위해.

또한보십시오