Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
В следующем сценарии мы будем использовать форму PDF, которая содержит три поля формы с именами ID, Name и Gender.
![]() |
![]() |
---|---|
![]() |
![]() |
На указанной выше форме одна страница с тремя полями, названными «ID», «Name» и «Gender» соответственно. Мы извлечём данные из следующей таблицы Excel в объект DataTable.
Нам нужно создать объект класса [AutoFiller] (https://reference.aspose.com/pdf/net/aspose.pdf.facades/autofiller) и связать форму Pdf, представленную на рисунках выше, и использовать метод [ImportDataTable], чтобы заполнить поля формы данными, содержащимися в объекте DataTable. После вызова метода создаётся новый файл формы Pdf, который содержит пять страниц с заполненными формами на основе данных из таблицы Excel. Исходная форма Pdf была на одной странице, а итоговая — на пяти, потому что количество строк данных в таблице Excel равно 5. Класс DataTable позволяет использовать первую строку листа в качестве имени столбца.
![]() |
![]() |
---|
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportExcelToPdfForm()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Excel();
var workbook = new Workbook();
// Creating a file stream containing the Excel file to be opened
using (FileStream fstream = new FileStream(dataDir + "newBook1.xls", FileMode.Open))
{
// Opening the Excel file through the file stream
workbook.Open(fstream);
// Accessing the first worksheet in the Excel file
var worksheet = workbook.Worksheets[0];
// Exporting the contents of 7 rows and 2 columns starting from 1st cell to DataTable
System.Data.DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);
// Create an object of AutoFiller class
using (var autoFiller = new Aspose.Pdf.Facades.AutoFiller())
{
// The input pdf file that contains form fields
autoFiller.InputFileName = dataDir + "DataTableExample.pdf";
// The resultant pdf, that will contain the form fields filled with information from DataTable
autoFiller.OutputFileName = dataDir + "DataTableExample_out.pdf";
// Call the method to import the data from DataTable object into Pdf form fields
autoFiller.ImportDataTable(dataTable);
// Save PDF document
autoFiller.Save();
}
}
}
Для заполнения из XLSX используйте следующий фрагмент кода:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void FillFromXLSX()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Excel();
// Create an object of AutoFiller class
using (var autoFiller = new Aspose.Pdf.Facades.AutoFiller())
{
// Bind PDF document
autoFiller.BindPdf(dataDir + "Sample-Form-01.pdf");
System.Data.DataTable dataTable = GenerateDataTable();
// Call the method to import the data from DataTable object into Pdf form fields
autoFiller.ImportDataTable(dataTable);
// Save PDF document
autoFiller.Save(dataDir + "Sample-Form-01_out.pdf");
}
}
Aspose.PDF for .NET позволяет создавать таблицу данных в документе PDF:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static System.Data.DataTable GenerateDataTable()
{
string[] names = new[] { "Olivia", "Oliver", "Amelia", "George", "Isla", "Harry", "Ava", "Noah" };
// Create a new DataTable
var table = new System.Data.DataTable("Students");
// Create new DataColumn, set DataType,
// ColumnName and add to DataTable
var column = new System.Data.DataColumn
{
DataType = System.Type.GetType("System.Int32"),
ColumnName = "id",
ReadOnly = true,
Unique = true
};
// Add the Column to the DataColumnCollection
table.Columns.Add(column);
// Create second column
column = new System.Data.DataColumn
{
DataType = System.Type.GetType("System.String"),
ColumnName = "First Name",
AutoIncrement = false,
Caption = "First Name",
ReadOnly = false,
Unique = false
};
// Add the column to the table
table.Columns.Add(column);
// Make the ID column the primary key column
var primaryKeyColumns = new System.Data.DataColumn[1];
primaryKeyColumns[0] = table.Columns["id"];
table.PrimaryKey = primaryKeyColumns;
// Create three new DataRow objects and add
// them to the DataTable
var rand = new Random();
System.Data.DataRow row;
for (int i = 1; i <= 4; i++)
{
row = table.NewRow();
row["id"] = i;
row["First Name"] = names[rand.Next(names.Length)];
table.Rows.Add(row);
}
return table;
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.