В последние дни автоматическая генерация и обработка документов PDF стала востребованной функцией. В различных приложениях PDF-документы генерируются динамически, например, счета-фактуры, квитанции и различные типы отчетов. В соответствии с этим в этой статье рассматривается базовая реализация автоматизации PDF в приложениях .NET. В конечном итоге вы научитесь создавать PDF-файлы с помощью C#. В примерах кода показано, как вставлять текст, изображения, таблицы и другие компоненты в PDF с помощью C#.
- C# PDF API — скачать бесплатно
- Создание PDF-файлов на C#
- Редактировать существующий PDF-файл в C#
- Вставить изображение в PDF с помощью С#
- Создайте таблицу в PDF с помощью С#
- Создать форму в PDF на С#
C# .NET PDF API — скачать бесплатно
Aspose.PDF for .NET — это API для работы с PDF-файлами, который позволяет создавать и обрабатывать PDF-файлы из приложений .NET. Используя API, вы можете динамически создавать различные виды отчетов и бизнес-документов. API доступен в виде загружаемой библиотеки 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 с помощью С#
Давайте теперь проверим, как вставить изображение в документ PDF. Ниже приведены шаги для этого.
- Создайте объект класса Document, чтобы открыть PDF-документ.
- Получите доступ к странице, на которую вы хотите добавить изображение, используя класс Page.
- Добавьте изображение в коллекцию Ресурсы страницы.
- Используйте операторы для размещения изображения на странице:
- GСохранить operator to save the current graphical state.
- ConcatenateMatrix 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());
// Создание объектов «Прямоугольник» и «Матрица»
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 с помощью С#
Таблицы являются важным компонентом документов, которые используются для организации данных в виде строк и столбцов. Aspose.PDF для .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 на С#
Формы в PDF-файлах используются для сбора данных от читателей. Вы можете вставлять текстовые поля, флажки, переключатели и другие поддерживаемые элементы управления в формы PDF. Формат PDF поддерживает два типа форм; Формы Acro и 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.
Вывод
В этом посте вы узнали, как создавать PDF-файлы с нуля с помощью C#. Кроме того, вы узнали, как программно вставлять различные типы компонентов, таких как текст, изображения, таблицы и формы, в документ PDF. Вы можете узнать больше об API PDF, используя документацию.
Смотрите также
Информация: Aspose предоставляет бесплатное онлайн-приложение, которое позволяет просматривать PDF-файлы в Интернете, другое позволяет конвертировать PDF-файлы в видео и одно позволяет редактировать PDF-файлы в Интернете. ].