Przejdź do treści stopki
KORZYSTANIE Z IRONPDF
Jak wypełnić plik PDF programowo za pomocą IronPDF

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.

Programowe wypełnianie formularzy PDF w języku C# (samouczek programowania), rysunek 1: nowo utworzona aplikacja konsolowa w Visual Studio 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.

Programowe wypełnianie formularzy PDF w języku C# (samouczek programowania), rysunek 2: Przykładowy plik PDF do wypełnienia formularza 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")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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

Programowe wypełnianie formularzy PDF w języku C# (samouczek programowania), rysunek 3: 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>
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
$vbLabelText   $csharpLabel

Uruchom program, aby wyświetlić wynikowy dokument w formacie PDF.

Programowe wypełnianie formularzy PDF w języku C# (samouczek programowania), rysunek 3: Formularz PDF wygenerowany na podstawie pliku HTML 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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie