Категория

C#/VB.NET: создание PDF-документа

2023-08-18 02:08:11

Установлено через NuGet

PM> Install-Package Spire.PDF

Ссылки по теме

Создание PDF-документов из кода предлагает широкий спектр преимуществ. Например, вы можете легко включать динамический контент, такой как пользовательский ввод, записи базы данных или данные в реальном времени. Создание PDF-файлов на основе кода обеспечивает более широкие возможности настройки и автоматизации, сводя к минимуму ручное вмешательство при создании узкоспециализированных документов. В этой статье вы узнаете, как создать PDF-документ с нуля на C# и VB.NET используя Spire.PDF for .NET.

Установите Spire.PDF for .NET

Для начала вам нужно добавить файлы DLL, включенные в пакет Spire.PDF for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.

PM> Install-Package Spire.PDF

Жизненный опыт

Страница в Spire.PDF (представленная PdfPageBase) состоит из клиентской области и полей вокруг нее. Область содержимого предназначена для того, чтобы пользователи могли писать различное содержимое, а поля обычно представляют собой пустые края.

Как показано на рисунке ниже, начало системы координат на странице расположено в верхнем левом углу клиентской области, при этом ось X идет горизонтально вправо, а ось Y — вертикально вниз. Все элементы, добавляемые в клиентскую область, должны основываться на указанных координатах.

C#/VB.NET: Create a PDF Document

Кроме того, в следующей таблице перечислены важные классы и методы, которые помогут вам легко понять фрагмент кода, представленный в следующем разделе.

Член Описание
класс PdfDocument Представляет модель документа PDF.
Класс PdfPageBase Представляет страницу в документе PDF.
Класс PdfSolidBrush Представляет собой кисть, которая закрашивает любой объект сплошным цветом.
Класс PdfTrueTypeFont Представляет шрифт истинного типа.
класс PdfStringFormat Представляет информацию о текстовом формате, такую как выравнивание, расстояние между символами и отступ.
Класс PdfTextWidget Представляет текстовую область с возможностью занимать несколько страниц.
Класс PdfTextLayout Представляет информацию о макете текста.
Метод PdfDocument.Pages.Add() Добавляет страницу в документ PDF.
Метод PdfPageBase.Canvas.DrawString() Рисует строку на странице в указанном месте с указанными объектами шрифта и кисти.
Метод PdfTextWidget.Draw() Рисует текстовый виджет на странице в указанном месте.
PdfDocument.Save() method Saves the document to a PDF file. Сохраняет документ в файл PDF.

Создание PDF-документа с нуля на C# и VB.NET

Хотя Spire.PDF for .NET поддерживает добавление различных типов элементов в документы PDF, в этой статье показано только создание документа PDF с обычным текстом. Ниже приведены подробные шаги.

  • Создайте объект PdfDocument.
  • Добавьте страницу с помощью метода PdfDocument.Pages.Add().
  • Создание объектов кисти и шрифта.
  • Нарисуйте строку на странице по указанной координате с помощью метода PdfPageBase.Canvas.DrawString().
  • Создайте объект PdfTextWidget для хранения фрагмента текста.
  • Нарисуйте текстовый виджет на странице в указанном месте с помощью метода PdfTextWidget.Draw().
  • Сохраните документ в файл PDF с помощью метода PdfDocument.Save().
  • 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-дневную пробную лицензию для себя.

Смотрите также