Оглавление
Установлено через 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 — вертикально вниз. Все элементы, добавляемые в клиентскую область, должны основываться на указанных координатах.
Кроме того, в следующей таблице перечислены важные классы и методы, которые помогут вам легко понять фрагмент кода, представленный в следующем разделе.
Член | Описание |
класс 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(); } } }
Подать заявку на временную лицензию
Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.