Programowo wypełniaj formularze PDF w C# (Samouczek kodu)
W tym samouczku zostanie pokazane, jak programowo obsługiwać formularze w plikach PDF.
Na rynku dostępnych jest wiele bibliotek .NET, które pozwalają nam wypełniać formularze PDF programowo w języku C#. Niektóre z nich są trudne do zrozumienia, a za niektóre trzeba zapłacić.
IronPDF jest najlepszą biblioteką .NET Core, ponieważ jest łatwa do zrozumienia i bezpłatna dla programistów. Oprócz wypełniania formularzy PDF, IronPDF umożliwia również tworzenie nowych plików PDF na podstawie ciągów znaków HTML, plików HTML i adresów URL.
Przyjrzyjmy się, jak wypełniać formularze PDF programowo przy użyciu języka C#. Na początek zostanie stworzona aplikacja konsolowa w celach demonstracyjnych, ale możesz użyć dowolnej aplikacji zgodnie z własnymi wymaganiami.
Utwórz projekt Visual Studio
Otwórz program Microsoft Visual Studio. Kliknij Utwórz nowy projekt > Wybierz Aplikacja konsolowa z szablonów > Naciśnij Dalej > Nadaj nazwę projektowi. Naciśnij Dalej > Wybierz platformę docelową. Kliknij przycisk Utwórz. Projekt zostanie utworzony zgodnie z poniższym opisem.
nowo utworzona aplikacja konsolowa w Visual Studio
Zainstaluj bibliotekę IronPDF
Jak wspomniano wcześniej, w tym samouczku zostanie wykorzystana biblioteka IronPDF. Głównym powodem korzystania z tej biblioteki .NET jest to, że jest ona bezpłatna dla programistów i zapewnia wszystkie funkcje w jednej bibliotece.
Przejdź do konsoli menedżera pakietów. Wpisz następujące polecenie:
Install-Package IronPdf
To polecenie zainstaluje dla nas bibliotekę IronPDF. Następnie przejdźmy do kodowania.
Czytaj dokumenty PDF
Pierwszym krokiem do wypełnienia formularza PDF jest przeczytanie dokumentu PDF. Oczywiście, jak moglibyśmy wypełnić formularz bez uprzedniego przeczytania go? Do celów demonstracyjnych zostanie wykorzystany poniższy dokument PDF. Możesz pobrać plik z linku na Google Drive lub skorzystać z własnego dokumentu.
Przykładowy plik PDF do wypełnienia formularza
Kod do odczytania tego pliku to:
using IronPdf;
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
using IronPdf;
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
Imports IronPdf
' Load the PDF document from the file path
Private doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
Przekaż pełną ścieżkę do dokumentu PDF w metodzie FromFile. Spowoduje to odczytanie pliku PDF z lokalnego systemu.
Pobierz formularze PDF
Wpisz poniższy wiersz kodu, aby pobrać formularz z załadowanego dokumentu PDF.
var form = doc.Form;
var form = doc.Form;
Dim form = doc.Form
Pobierz pola formularza
Aby ustawić wartości pól formularza, IronPDF znacznie ułatwia to zadanie, umożliwiając dostęp do pól formularza za pomocą dwóch metod: poprzez nazwę pola lub poprzez indeks. Omówmy je po kolei.
Pobierz pole formularza według nazwy
Poniższy kod pobierze pole według nazwy:
// Retrieve the form field using its name
var field = form.FindFormField("First Name");
// Retrieve the form field using its name
var field = form.FindFormField("First Name");
' Retrieve the form field using its name
Dim field = form.FindFormField("First Name")
Metoda FindFormField przyjmuje nazwę pola jako argument. Rozwiązanie to jest odporne na błędy i będzie próbowało dopasować błędy wielkości liter oraz częściowe nazwy pól.
Pobierz pole formularza według indeksu
Możemy również uzyskać pola formularza PDF, korzystając z indeksu. Indeks zaczyna się od zera. Poniższy przykładowy kod służy do pobierania pól formularza według indeksu.
// Retrieve the form field using its index
var field = form.Fields[0];
// Retrieve the form field using its index
var field = form.Fields[0];
' Retrieve the form field using its index
Dim field = form.Fields(0)
Wypełnianie formularzy PDF
Następnie połączmy cały kod, aby wypełnić formularz PDF.
using IronPdf;
class Program
{
static void Main()
{
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
// Access the PDF form
var form = doc.Form;
// Fill out the form fields using their index
form.Fields[0].Value = "John";
form.Fields[1].Value = "Smith";
form.Fields[2].Value = "+19159969739";
form.Fields[3].Value = "John@email.com";
form.Fields[4].Value = "Chicago";
// Save the modified PDF document
doc.SaveAs(@"D:\myPdfForm.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
// Access the PDF form
var form = doc.Form;
// Fill out the form fields using their index
form.Fields[0].Value = "John";
form.Fields[1].Value = "Smith";
form.Fields[2].Value = "+19159969739";
form.Fields[3].Value = "John@email.com";
form.Fields[4].Value = "Chicago";
// Save the modified PDF document
doc.SaveAs(@"D:\myPdfForm.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
' Load the PDF document from the file path
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
' Access the PDF form
Dim form = doc.Form
' Fill out the form fields using their index
form.Fields(0).Value = "John"
form.Fields(1).Value = "Smith"
form.Fields(2).Value = "+19159969739"
form.Fields(3).Value = "John@email.com"
form.Fields(4).Value = "Chicago"
' Save the modified PDF document
doc.SaveAs("D:\myPdfForm.pdf")
End Sub
End Class
Powyższy przykładowy kod wypełni pola formularza wartościami indeksu. Można to również zrobić, korzystając z nazw pól wymienionych wcześniej. Uruchommy program, aby zobaczyć wynik.
Wypełniony formularz PDF
Wypełniony formularz w przykładowym pliku PDF
Widać, że biblioteka może wypełnić formularz PDF za pomocą najprostszego kodu, bez potrzeby stosowania skomplikowanej logiki. To właśnie dlatego zalecamy IronPDF.
Załóżmy, że nie masz jeszcze żadnych dokumentów PDF z formularzami — nie martw się, IronPDF zapewnia pełną obsługę generowania formularzy PDF. Postępuj zgodnie z poniższymi instrukcjami:
Utwórz nowy dokument w formacie PDF
Utwórz nowy plik HTML
Utwórz nowy plik HTML i wklej następujący kod:
<!DOCTYPE html>
<html>
<body>
<h2>PDF Forms</h2>
<form action="/action_page.php">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname"><br>
<label for="contact">Contact #:</label><br>
<input type="text" id="contact" name="contact"><br>
<label for="email">Email:</label><br>
<input type="text" id="email" name="email"><br>
<label for="city">City:</label><br>
<input type="text" id="city" name="city"><br>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>PDF Forms</h2>
<form action="/action_page.php">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname"><br>
<label for="contact">Contact #:</label><br>
<input type="text" id="contact" name="contact"><br>
<label for="email">Email:</label><br>
<input type="text" id="email" name="email"><br>
<label for="city">City:</label><br>
<input type="text" id="city" name="city"><br>
</form>
</body>
</html>
Zapisz ten przykładowy plik HTML. Możesz dostosować ten kod HTML zgodnie z wymaganiami swojego formularza.
Następnie wpisz poniższy kod w swoim programie C#.
using IronPdf;
class Program
{
static void Main()
{
// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
// Save the PDF document to the specified file path
pdfDocument.SaveAs(@"D:\myForm.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
// Save the PDF document to the specified file path
pdfDocument.SaveAs(@"D:\myForm.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
' Create an instance of ChromePdfRenderer
Dim renderer = New ChromePdfRenderer()
' Render the HTML file as a PDF
Dim pdfDocument = renderer.RenderHtmlFileAsPdf("D:\myForm.html")
' Save the PDF document to the specified file path
pdfDocument.SaveAs("D:\myForm.pdf")
End Sub
End Class
Uruchom program, aby wyświetlić wynikowy dokument w formacie PDF.
Formularz PDF wygenerowany z pliku HTML
Podsumowanie
Ważne jest, aby formularze PDF były wypełniane automatycznie i programowo. W tym artykule sugerujemy najprostsze podejście do wypełniania formularzy PDF w języku C# przy użyciu IronPDF. Dodatkowo nauczyłeś się również, jak generować nowe formularze PDF od podstaw.
Ponadto IronPDF oferuje programistom metody wyodrębniania tekstu i treści z plików PDF, renderowania wykresów w plikach PDF, wstawiania BarCode'ów oraz programowego zwiększania bezpieczeństwa za pomocą haseł i znaków wodnych.
Istnieje wiele innych przydatnych bibliotek, takich jak IronBarcode do pracy z kodami kreskowymi, biblioteka IronXL do pracy z dokumentami Excel oraz biblioteka IronOCR do pracy z OCR. Możesz otrzymać wszystkie pięć bibliotek w cenie zaledwie dwóch, kupując kompletny pakiet Iron Suite. Więcej szczegółów znajdziesz na stronie Licencji Iron Software.
Często Zadawane Pytania
Jak programowo wypełnić formularze PDF za pomocą języka C#?
IronPDF umożliwia programowe wypełnianie formularzy PDF w języku C# poprzez załadowanie dokumentu za pomocą PdfDocument.FromFile oraz uzyskanie dostępu do pól formularza za pomocą doc.Form.Fields w celu ustawienia ich wartości.
Jakie kroki trzeba wykonać, żeby skonfigurować projekt w C# do wypełniania formularzy PDF?
Najpierw utwórz aplikację konsolową w Visual Studio. Następnie zainstaluj IronPDF za pomocą konsoli menedżera pakietów, wpisując polecenie Install-Package IronPdf. Załaduj plik PDF za pomocą PdfDocument.FromFile i manipuluj polami formularza zgodnie z potrzebami.
Czy IronPDF może służyć do generowania nowych formularzy PDF z HTML w języku C#?
Tak, IronPDF może generować nowe formularze PDF poprzez renderowanie formularzy HTML do dokumentów PDF przy użyciu klasy ChromePdfRenderer. Umożliwia to dynamiczne generowanie plików PDF na podstawie danych wprowadzonych w formularzach internetowych.
Jakie są główne zalety korzystania z IronPDF for .NET do obsługi formularzy PDF w aplikacjach .NET?
IronPDF oferuje przyjazne dla użytkownika podejście do integracji obsługi formularzy PDF w aplikacjach .NET. Obsługuje wypełnianie formularzy, wyodrębnianie tekstu i zabezpieczenia dokumentów, zapewniając łatwą integrację i bezpłatne możliwości programistyczne.
Jak wyodrębnić tekst z formularza PDF za pomocą IronPDF?
IronPDF udostępnia metody do wyodrębniania tekstu z formularzy PDF. Po załadowaniu dokumentu za pomocą PdfDocument.FromFile można uzyskać dostęp do treści tekstowej i wyodrębnić ją, korzystając z metod takich jak pdfDocument.ExtractAllText().
Czy można zapewnić bezpieczeństwo dokumentów PDF za pomocą biblioteki .NET?
Tak, IronPDF oferuje funkcje zwiększające bezpieczeństwo plików PDF, w tym podpisy cyfrowe, redagowanie i szyfrowanie w celu ochrony poufnych informacji w dokumentach PDF.
Jakie kroki mogę podjąć, aby rozwiązać problem, jeśli pola formularza PDF nie aktualizują się zgodnie z oczekiwaniami?
Upewnij się, że pola formularza są poprawnie zidentyfikowane i dostępne za pomocą IronPDF. Sprawdź nazwy pól lub indeksy i użyj doc.Form.FindFormField('FieldName').Value = 'New Value', aby zaktualizować wartości pól.
Jak zapisać zmodyfikowany dokument PDF po wypełnieniu pól formularza w języku C#?
Po zmodyfikowaniu pól formularza za pomocą IronPDF, zapisz zaktualizowany dokument za pomocą pdfDocument.SaveAs('path/to/newfile.pdf'), aby zachować zmiany.
Czy IronPDF obsługuje inne operacje na dokumentach oprócz obsługi formularzy PDF?
Tak, IronPDF jest wszechstronny i może obsługiwać różne operacje związane z plikami PDF, w tym wyodrębnianie tekstu, renderowanie wykresów i ulepszenia zabezpieczeń dokumentów, co czyni go kompleksowym narzędziem do zarządzania plikami PDF.
W jaki sposób IronPDF może być przydatny dla programistów pracujących z formularzami PDF?
IronPDF zapewnia proste API do wypełniania i edycji formularzy PDF, zwiększając produktywność programistów dzięki takim funkcjom, jak renderowanie HTML do PDF oraz integracja z aplikacjami .NET.
Czy IronPDF obsługuje .NET 10 i co to oznacza dla wypełniania formularzy PDF w języku C# przy użyciu IronPDF?
Tak, IronPDF obsługuje nowoczesne wersje .NET, w tym .NET 8 i .NET 9, i jest już zgodny z nadchodzącą wersją .NET 10 (planowaną na listopad 2025 r.). Oznacza to, że można nadal używać IronPDF do wypełniania formularzy i manipulacji plikami PDF w języku C# z pełną kompatybilnością w .NET 10.




