Denna korta handledning innehåller information om hur man fyller i PDF-formulär med Excel-data med C#. Du kommer att lära dig alla steg för att ladda PDF- och Excel-filerna och sedan läsa data från en XLSX-fil för att fylla i PDF-formulärfälten. Detta gör att du kan skriva ett program för att autofylla PDF-formulär från Excel med C# så att för varje post i Excel-filen skapas en separat PDF-fil.
Steg för att fylla i PDF-formulär med Excel-data med C#
- Etablera IDE-miljön för att använda Aspose.PDF och Aspose.Cells för .NET med NuGet-pakethanteraren
- Ladda PDF-filen med formulärfält i objektet Document som ska fyllas med data från en Excel-fil
- Ladda källfilen för Excel med nödvändiga data med hjälp av klassobjektet Workbook
- Iterera igenom alla rader i källfilen i Excel
- För varje iteration, hämta referensen till målfältet i käll-PDF-filen
- Ställ in fältvärdet till önskad kolumn i den aktuella raden i Excel-filen
- Upprepa iterationen för alla rader och spara varje PDF som en separat fil på disken
Dessa steg guidar oss i fylla PDF-formulär från Excel med C# genom att tillhandahålla detaljer om etableringen av IDE följt av API-anrop för att ladda både PDF-mallen och Excel-källfilen. När Excel-filen har laddats itereras alla önskade rader så att data under varje iteration hämtas från olika kolumner i den aktuella raden och fylls i målfälten för den laddade PDF-filen. Under iterationen sparas PDF-filen separat för varje post i Excel-filen.
Kod för att autofylla PDF från Excel med C#
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"); | |
} | |
} | |
} |
Den här koden visar processen att fylla PDF-formulär med Excel-data med C# genom att använda två bibliotek samtidigt för att arbeta med PDF och Excel så att klassen Document används för att ladda PDF-filen och Workbook-klassen används för att ladda Excel-filen . Klassen Workbook innehåller en kalkylbladssamling och varje kalkylblad har en samling celler som kan nås för att läsa/skriva data i den. Å andra sidan har klassen Document alternativen att komma åt olika formulärfält efter namn och sedan ställa in dess värde enligt kraven.
Denna handledning vägleder hur du använder C# fyller PDF-formulär automatiskt. Om du vill lära dig processen för att hitta och ersätta text i en PDF, se artikeln om hur man hittar och ersätter text i PDF med C#.