Шукаєте високошвидкісне рішення для створення форматованих PDF-файлів на C#? Якщо так, то ця стаття полегшить вам життя, спростивши процес створення PDF-файлів з нуля.

Створення PDF-документів за допомогою C#

Останнім часом автоматизована генерація та обробка PDF документів стала вимогливою функцією. У різних програмах PDF-документи генеруються динамічно, наприклад рахунки-фактури, квитанції та різні типи звітів. У цій статті розглядається базова реалізація автоматизації PDF у програмах .NET. Зрештою, ви дізнаєтеся, як створювати PDF-файли на C#. Ми також продемонструємо, як вставляти текст, зображення, таблиці та інші компоненти в PDF за допомогою C#.

Бібліотека C# .NET PDF для створення PDF

Aspose.PDF for .NET — це бібліотека обробки PDF-файлів, яка дозволяє створювати та обробляти PDF-файли з ваших програм .NET. За допомогою бібліотеки можна динамічно формувати різноманітні звіти та бізнес-документи. Крім того, ви можете отримати безкоштовну ліцензію і створювати потрібні PDF-файли.

Бібліотека доступна як завантажувана DLL, а також розміщена на NuGet.

Install-Package Aspose.Pdf

Створення PDF-файлів на C#

Почнемо зі створення простого PDF-документа, що містить текстовий фрагмент. Нижче наведено кроки для створення файлу PDF за допомогою C#.

  • Створіть об’єкт класу Document.
  • Додайте сторінку до документа за допомогою методу Document.Pages.Add().
  • Створіть новий об’єкт TextFragment і встановіть його текст.
  • Додайте TextFragment до колекції Paragraphs сторінки.
  • Збережіть PDF-файл за допомогою методу Document.Save(String).

У наведеному нижче прикладі коду показано, як створити простий PDF-файл за допомогою C#.

// Ініціалізація об'єкта документа
Document document = new Document();

// Додати сторінку
Page page = document.Pages.Add();

// Додайте текст на нову сторінку
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// Зберегти PDF 
document.Save("document.pdf");

Докладніше про створення складних PDF-документів.

Як редагувати файл PDF на C#

Змінити PDF-файл так само просто, як створити новий. Просто завантажте файл за допомогою класу Document, виконайте потрібні операції та збережіть його. Нижче наведено кроки для редагування PDF-файлу.

  • Створіть об’єкт класу Document і вкажіть шлях PDF-файлу до його конструктора.
  • Маніпулювати сторінками або вмістом документа.
  • Збережіть документ за допомогою методу Document.Save().

У наведеному нижче прикладі коду показано, як змінити PDF-файл за допомогою C#.

// Завантажити PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// Зробіть деякі маніпуляції, наприклад, додайте нову порожню сторінку
pdfDocument.Pages.Add();

// Збережіть оновлений PDF
pdfDocument.Save(modifiedFileName);

Вставити зображення в PDF за допомогою C#

Давайте тепер перевіримо, як вставити зображення в PDF-документ. Нижче наведено кроки для цього.

  • Створіть об’єкт класу Document, щоб відкрити документ PDF.
  • Перейдіть до сторінки, до якої ви хочете додати зображення, за допомогою класу Page.
  • Додайте зображення до колекції Ресурси сторінки.
  • Використовуйте оператори, щоб розмістити зображення на сторінці:
    • GSave operator to save the current graphical state.
    • Конкатенована матриця operator to specify where the image is to be placed.
    • робити operator to draw the image on the page.
    • Нарешті, скористайтеся оператором GRestore, щоб зберегти оновлений графічний стан.
  • Збережіть файл PDF.

У наведеному нижче прикладі коду показано, як додати зображення до документа PDF за допомогою C#.

// відкритий документ
Document pdfDocument = new Document("document.pdf");

// Встановити координати
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Отримайте сторінку, куди потрібно додати зображення
Page page = pdfDocument.Pages[1];

// Завантажити зображення в потік
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Додайте зображення до колекції зображень ресурсів сторінки
page.Resources.Images.Add(imageStream);

// Використання оператора GSave: цей оператор зберігає поточний стан графіки
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Створення об’єктів Rectangle і Matrix
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// Використання оператора ConcatenateMatrix (конкатенована матриця): визначає, як має бути розміщено зображення
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Використання оператора Do: цей оператор малює зображення
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// Використання оператора GRestore: цей оператор відновлює стан графіки
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// Зберегти оновлений документ
pdfDocument.Save("document.pdf");

Докладніше про вставити зображення в PDF.

Створення таблиці в PDF за допомогою C#

Таблиці є важливим компонентом документів, які використовуються для організації даних у формі рядків і стовпців. Aspose.PDF for .NET надає вам досить простий спосіб створювати та вставляти таблиці в документи PDF. Нижче наведено кроки для виконання цієї операції.

  • Завантажте PDF-файл за допомогою класу Document.
  • Ініціалізуйте таблицю та встановіть її стовпці та рядки за допомогою класу Table.
  • Встановіть параметри таблиці (тобто межі).
  • Заповніть таблицю, створивши рядки за допомогою методу Table.Rows.Add().
  • Додайте таблицю на сторінку за допомогою методу Document.Pages1.Paragraphs.Add(Table).
  • Збережіть файл PDF.

У наведеному нижче прикладі коду показано, як створити та додати таблицю в PDF-документ на C#.

// Завантажити вихідний документ PDF
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// Ініціалізує новий екземпляр таблиці
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Встановіть колір рамки таблиці як LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Встановити рамку для комірок таблиці
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Створіть петлю, щоб додати 10 рядів
for (int row_count = 1; row_count < 10; row_count++)
{
    // Додати рядок до таблиці
    Aspose.Pdf.Row row = table.Rows.Add();
    // Додайте комірки таблиці
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// Додайте об’єкт таблиці на першу сторінку вхідного документа
doc.Pages[1].Paragraphs.Add(table);

// Зберегти оновлений документ, що містить об’єкт таблиці
doc.Save("document_with_table_out.pdf");

Докладніше про створення таблиць у форматі PDF.

Створення форми в PDF на C#

Форми в PDF-файлах використовуються для збору даних від читачів. У PDF-форми можна вставляти текстові поля, прапорці, перемикачі та інші підтримувані елементи керування. Формат PDF підтримує два типи форм; Акроформи та форми XFA (див. докладніше). Нижче наведено кроки для створення та додавання форм у PDF.

  • Завантажте PDF-файл за допомогою класу Document.
  • Створіть елементи керування форми, такі як TextBoxField.
  • Додайте елемент керування до форми за допомогою методу Document.Form.Add(textBoxField, 1).
  • Збережіть документ PDF.

У наведеному нижче прикладі коду показано, як додати форми до документа PDF за допомогою C#.

// відкритий документ
Document pdfDocument = new Document("document.pdf");

// Створіть поле
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = нова межа(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// Додати поле до документа
pdfDocument.Form.Add(textBoxField, 1);

// Зберегти змінений PDF
pdfDocument.Save("output.pdf");

Докладніше про створення форм у форматі PDF.

Безкоштовна бібліотека C# PDF

Ви можете отримати абсолютно безкоштовну тимчасову ліцензію і створювати файли PDF без будь-яких обмежень.

Безкоштовний онлайн-переглядач і редактор PDF

Aspose.PDF надає безкоштовну онлайнову веб-програму, яка дозволяє переглядати PDF-файли і редагувати PDF-файли.

Висновок

У цій публікації ви дізналися, як створювати PDF-файли з нуля за допомогою C#. Крім того, ви дізналися, як програмно вставляти різні типи компонентів, як-от текст, зображення, таблиці та форми, у документ PDF. Ви можете дізнатися більше про PDF API, використовуючи документацію.

Дивись також