Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
En el siguiente escenario, vamos a utilizar un formulario PDF que contiene tres campos de formulario llamados ID, Nombre y Género.
En el formulario especificado anteriormente hay una página, con tres campos llamados “ID”, “Nombre” y “Género” respectivamente. Extraeremos los datos de la siguiente hoja de Excel en un objeto DataTable.
Necesitamos crear un objeto de la clase AutoFiller y vincular el formulario PDF presente en las imágenes anteriores y usar el método ImportDataTable para llenar los campos del formulario utilizando los datos presentes en el objeto DataTable. Una vez que se llama al método, se genera un nuevo archivo de formulario PDF, que contiene cinco páginas con el formulario completado basado en los datos de la hoja de Excel. El formulario PDF de entrada era de una sola página y el resultado es de cinco páginas, porque el número de filas de datos en la hoja de Excel es 5. La clase DataTable ofrece la capacidad de usar la primera fila de la hoja como ColumnName.
![]() |
![]() |
---|---|
![]() |
![]() |
// 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();
}
}
}
Para llenar desde XLSX, por favor usa el siguiente fragmento de código:
// 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 te permite generar una tabla de datos en un documento 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.