Как заполнить PDF-форму данными Excel с помощью С#

Это краткое руководство содержит информацию о том, как заполнить форму PDF данными Excel с помощью C#. Вы узнаете все шаги по загрузке файлов PDF и Excel, а затем считываете данные из файла XLSX для заполнения полей формы PDF. Это позволит вам написать программу для автоматического заполнения формы PDF из Excel с использованием C#, чтобы для каждой записи в файле Excel создавался отдельный файл PDF.

Шаги по заполнению формы PDF данными Excel с использованием С#

  1. Установите среду IDE для использования Aspose.PDF и Aspose.Cells для .NET с помощью диспетчера пакетов NuGet.
  2. Загрузите файл PDF с полями формы в объект Document, который необходимо заполнить данными из файла Excel.
  3. Загрузите исходный файл Excel с необходимыми данными, используя объект класса Workbook.
  4. Перебрать все строки в исходном файле Excel.
  5. Для каждой итерации получите ссылку на целевое поле в исходном PDF-файле.
  6. Установите значение поля в нужный столбец в текущей строке файла Excel.
  7. Повторите итерацию для всех строк и сохраните каждый PDF-файл в виде отдельного файла на диске.

Эти шаги помогут нам заполнить PDF-форму из Excel с помощью C#, предоставив подробную информацию о создании IDE с последующими вызовами API для загрузки как файла шаблона PDF, так и исходного файла Excel. После загрузки файла Excel все нужные строки повторяются таким образом, что во время каждой итерации данные извлекаются из разных столбцов в текущей строке и заполняются целевыми полями загруженного файла PDF. Во время итерации файл PDF сохраняется отдельно для каждой записи в файле Excel.

Код для автозаполнения PDF из Excel с использованием С#

using System;
using Aspose.Cells;
using Aspose.Pdf;
using Aspose.Pdf.Annotations;
using Aspose.Pdf.Forms;
namespace KBExample
{
class Program
{
static void Main(string[] args) // Main function to import Excel in PDF
{
// Initialize licenses
Aspose.Pdf.License licPdf = new Aspose.Pdf.License();
licPdf.SetLicense("Aspose.Total.lic");
Aspose.Cells.License licCells = new Aspose.Cells.License();
licCells.SetLicense("Aspose.Total.lic");
// Open PDF template document containing form fields
Document pdfDocument = new Document("PdfWithFormField.pdf");
// Open workbook containing data to be filled in the PDF form
Workbook workbook = new Workbook("InputWorkbook.xlsx");
for (int iRow = 1; iRow <= 15; iRow++)
{
// Get a field
TextBoxField textBoxField = pdfDocument.Form["textboxRollNo"] as TextBoxField;
// Modify field value
textBoxField.Value = workbook.Worksheets[0].Cells[iRow, 0].Value.ToString();
// Get another field
textBoxField = pdfDocument.Form["textboxName"] as TextBoxField;
// Modify field value
textBoxField.Value = workbook.Worksheets[0].Cells[iRow, 1].Value as string;
// Save the updated document as a separate PDF file
pdfDocument.Save($"{textBoxField.Value.Trim()}.pdf");
}
Console.WriteLine("Done");
}
}
}

Этот код демонстрирует процесс заполнения PDF-формы данными Excel с использованием C# с одновременным использованием двух библиотек для работы с PDF и Excel, так что класс Document используется для загрузки файла PDF, а класс Workbook используется для загрузки файла Excel. . Класс Workbook содержит коллекцию рабочих листов, и каждый рабочий лист имеет набор ячеек, к которым можно получить доступ для чтения/записи данных в нем. С другой стороны, класс Document имеет возможность доступа к различным полям формы по имени, а затем устанавливает его значение в соответствии с требованиями.

В этом руководстве показано, как с помощью C# автоматически заполнять форму PDF. Если вы хотите узнать, как найти и заменить текст в PDF-файле, обратитесь к статье как найти и заменить текст в PDF с помощью С#.

 Русский