Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Dans le scénario suivant, nous allons utiliser un formulaire PDF, qui contient trois champs de formulaire nommés ID, Nom et Genre.
Le formulaire spécifié ci-dessus a une page, avec trois champs nommés “ID”, “Nom” et “Genre” respectivement. Nous allons extraire les données de la feuille Excel suivante dans un objet DataTable.
Nous devons créer un objet de la classe AutoFiller et lier le formulaire PDF présent dans les images ci-dessus et utiliser la méthode ImportDataTable pour remplir les champs du formulaire en utilisant les données présentes dans l’objet DataTable. Une fois la méthode appelée, un nouveau fichier de formulaire PDF est généré, qui contient cinq pages avec le formulaire rempli en fonction des données de la feuille Excel. Le formulaire PDF d’entrée était une seule page et le résultat est cinq pages, car le nombre de lignes de données dans la feuille Excel est de 5. La classe DataTable offre la capacité d’utiliser la première ligne de la feuille comme nom de colonne.
![]() |
![]() |
---|---|
![]() |
![]() |
// 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();
}
}
}
Pour remplir à partir de XLSX, veuillez utiliser le prochain extrait de code :
// 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 vous permet de générer un tableau de données dans un document 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.