C#/VB.NET: PDF 문서 만들기

2023-08-18 02:04:26

NuGet을 통해 설치됨

PM> Install-Package Spire.PDF

관련된 링크들

코드에서 PDF 문서를 만들면 다양한 이점이 있습니다. 예를 들어 사용자 입력, 데이터베이스 레코드 또는 실시간 데이터와 같은 동적 콘텐츠를 쉽게 통합할 수 있습니다. 코드 기반 PDF 생성을 통해 사용자 정의 및 자동화가 향상되어 고도로 맞춤화된 문서를 만드는 데 수동 개입이 최소화됩니다. 이 기사에서는 다음을 수행하는 방법을 배웁니다 C# 및 VB.NET에서 처음부터 PDF 문서 만들기 Spire.PDF for .NET사용.

Spire.PDF for .NET 설치

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

PM> Install-Package Spire.PDF

배경 지식

Spire.PDF의 페이지(PdfPageBase로 표시)는 클라이언트 영역과 여백으로 구성됩니다. 콘텐츠 영역은 사용자가 다양한 콘텐츠를 작성하는 영역이며 여백은 일반적으로 빈 가장자리입니다.

아래 그림과 같이 페이지의 좌표계 원점은 클라이언트 영역의 왼쪽 상단 모서리에 위치하며 x축은 오른쪽으로 가로로 확장되고 y축은 세로로 아래로 확장됩니다. 클라이언트 영역에 추가되는 모든 요소는 지정된 좌표를 기반으로 해야 합니다.

C#/VB.NET: Create a PDF Document

또한 다음 표에는 다음 섹션에서 제공하는 코드 조각을 쉽게 이해하는 데 도움이 되는 중요한 클래스와 메서드가 나열되어 있습니다.

회원 설명
Pdf문서 클래스 PDF 문서 모델을 나타냅니다.
PdfPageBase 클래스 PDF 문서의 페이지를 나타냅니다.
PdfSolidBrush 클래스 모든 개체를 단색으로 채우는 브러시를 나타냅니다.
PdfTrueTypeFont 클래스 트루 타입 글꼴을 나타냅니다.
PdfStringFormat 클래스 정렬, 문자 간격 및 들여쓰기와 같은 텍스트 형식 정보를 나타냅니다.
PdfTextWidget 클래스 여러 페이지에 걸쳐 있는 기능으로 텍스트 영역을 나타냅니다.
PDFTextLayout 클래스 텍스트 레이아웃 정보를 나타냅니다.
PdfDocument.Pages.Add() 메서드 PDF 문서에 페이지를 추가합니다.
PdfPageBase.Canvas.DrawString() 메서드 지정된 글꼴 및 브러시 개체를 사용하여 지정된 위치의 페이지에 문자열을 그립니다.
PdfTextWidget.Draw() 메서드 페이지의 지정된 위치에 텍스트 위젯을 그립니다.
PdfDocument.Save() 메서드 문서를 PDF 파일로 저장합니다.

C# 및 VB.NET에서 처음부터 PDF 문서 만들기

Spire.PDF for .NET는 PDF 문서에 다양한 종류의 요소 추가를 지원하지만 이 문서에서는 일반 텍스트로 PDF 문서를 만드는 방법만 보여줍니다. 다음은 세부 단계입니다.

  • PdfDocument 개체를 만듭니다.
  • PdfDocument.Pages.Add() 메서드를 사용하여 페이지를 추가합니다.
  • 브러시 및 글꼴 개체를 만듭니다.
  • PdfPageBase.Canvas.DrawString() 메서드를 사용하여 지정된 좌표에서 페이지에 문자열을 그립니다.
  • 텍스트 덩어리를 담을 PdfTextWidget 개체를 만듭니다.
  • PdfTextWidget.Draw() 메서드를 사용하여 페이지의 지정된 위치에 텍스트 위젯을 그립니다.
  • PdfDocument.Save() 메서드를 사용하여 문서를 PDF 파일로 저장합니다.
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace CreatePdfDocument
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Add a page
                PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f));
    
                //Specify heading text
                String titleText = "What is MySQL";
    
                //Create solid brushes
                PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue));
                PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black));
    
                //Create true type fonts
                PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Times New Roman", 18f, FontStyle.Bold),true);
                PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true);
    
                //Set the text alignment via PdfStringFormat class
                PdfStringFormat format = new PdfStringFormat();
                format.Alignment = PdfTextAlignment.Center;
    
                //Draw heading on the center of the page
                page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format);
    
                //Get paragraph content from a .txt file
                string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt");
    
                //Create a PdfTextWidget object to hold the paragrah content
                PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush);
    
                //Create a rectangle where the paragraph content will be placed
                RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height);
    
                //Set the PdfLayoutType to Paginate to make the content paginated automatically
                PdfTextLayout layout = new PdfTextLayout();
                layout.Layout = PdfLayoutType.Paginate;
    
                //Draw the widget on the page
                widget.Draw(page, rect, layout);
    
                //Save to file
                doc.SaveToFile("CreatePdfDocument.pdf");
                doc.Dispose();
            }
        }
    }

C#/VB.NET: Create a PDF Document

임시 면허 신청

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

또한보십시오