IRONSOFTWAREHOME

Jak Wypełnić Pola Formularza PDF w Node.js

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

Programowe wypełnianie formularzy PDF w Node.js pozwala zautomatyzować przepływy dokumentów: od uzupełniania formularzy aplikacyjnych danymi z bazy, po generowanie spersonalizowanych certyfikatów na dużą skalę. IronPDF dla Node.js zapewnia prosty API do ładowania istniejących PDFów, zapisywania wartości w polach formularzy oraz zapisywania ukończonych dokumentów bez opuszczania środowiska JavaScript.

Ten przewodnik obejmuje pełny przepływ pracy: instalację pakietu, zastosowanie klucza licencyjnego, wypełnianie pól tekstowych, pól wyboru, rozwijanych list i przycisków radiowych, spłaszczanie pól formularzy, aby zablokować wartości, i zapisywanie wyniku. Wszystkie przykłady kodu używają await i pakietu @ironsoftware/ironpdf.

Szybki start: Wypełnianie formularza PDF w Node.js

Zainstaluj pakiet, a następnie załaduj i wypełnij formularz w kilku liniach:

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/install.sh
npm install @ironsoftware/ironpdf
SHELL
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = "YOUR-LICENSE-KEY-HERE";

(async () => {
    const pdf = await PdfDocument.fromFile("./form.pdf");
    await pdf.setFormFieldValue("firstName", "Jane");
    await pdf.setFormFieldValue("email", "jane@example.com");
    await pdf.saveAs("./filled-form.pdf");
})();
JavaScript

Jakie są Wymagania do Wypełniania Formularzy PDF w Node.js?

Przed uruchomieniem poniższych przykładów kodu potwierdź, że są spełnione trzy rzeczy: obsługiwana wersja Node.js, klucz licencji IronPDF i plik binarny IronPdfEngine.

Wersja Node.js: IronPDF wymaga Node.js 18 lub nowszej. Pobierz aktualne wydanie LTS z oficjalnej strony internetowej Node.js. Biblioteka używa asynchronicznego I/O Node.js dla wszystkich operacji PDF, więc await lub łańcuch obietnic jest standardowym wzorcem w całym zakresie. Starsze wersje Node.js nie są obsługiwane, ponieważ pakiet zależy od funkcji natywnego ESM i async_hooks, które wymagają Node.js 18+.

Klucz licencyjny: Aktywny klucz licencyjny IronPDF odblokowuje pełny API. Rozpocznij bezpłatny okres próbny, aby uzyskać klucz na potrzeby rozwoju i testowania, lub kup licencję do użytku produkcyjnego. Dla opcji wdrożeniowych (zmienne środowiskowe, pliki konfiguracyjne, menedżery tajemnic) zobacz Korzystanie z Kluczy Licencyjnych.

IronPdfEngine: Pakiet Node.js zawiera IronPdfEngine, wieloplatformowy silnik renderowania, który obsługuje rzeczywistą manipulację PDF. Ustawienia i uwagi specyficzne dla platformy (Windows, Linux, macOS) znajdują się w dokumentacji Użyj IronPdfEngine.

Jak Ustawić Klucz Licencyjny w Kodzie Node.js?

Zastosować klucz licencji raz na starcie aplikacji, przed jakimikolwiek wywołaniami PdfDocument.

const { IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

// Apply once at startup -- before any PdfDocument operations
IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;
JavaScript

Przechowywanie klucza w zmiennej środowiskowej (jak pokazano wyżej z process.env.IRONPDF_LICENSE_KEY) utrzymuje dane uwierzytelniające poza kontrolą wersji. Przegląd rozpoczęcia pracy obejmuje dodatkowe wzorce inicjalizacji dla różnych środowisk wdrożeniowych.


Jak zainstalować IronPDF for Node.js?

Instalacja IronPDF dla Node.js wymaga pojedynczej komendy npm. Uruchom ją w katalogu swojego projektu:

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/install-full.sh
npm install @ironsoftware/ironpdf
SHELL

Pakiet zawiera deklaracje typów TypeScript, więc projekty TypeScript otrzymują pełne wsparcie IntelliSense bez oddzielnego pakietu @types. Pliki binarne specyficzne dla platformy dla Windows, Linux i macOS są pobierane automatycznie podczas instalacji. Pakiet @Iron Software/ironpdf na npm listuje wszystkie opublikowane wersje i zależności koleżeńskie.

Zwróć uwagę: Dla projektów TypeScript, zawarte deklaracje .d.ts oznaczają, że IntelliSense działa od razu w VS Code i innych edytorach, które obsługują usługi językowe TypeScript.

Dla instrukcji jak dodać IronPDF do istniejącego monorepo lub workflowu opartego na Dockerze, zobacz dokumentację IronPDF dla Node.js.


Jak wypełnić formularze PDF programowo?

Ładowanie PDF i wpisywanie wartości do jego pól wymaga trzech asynchronicznych wywołań: PdfDocument.fromFile(), setFormFieldValue(), i saveAs(). Poniższy przykład wypełnia formularz aplikacji wielopolowej i opcjonalnie go spłaszcza, aby wartości nie mogły zostać zmienione po dostarczeniu.

Jak Wygląda Kompletny Przykład Wypełniania Formularzy?

Poniższy przykład ładuje PDF z kilkoma typami pól, wypełnia je i zapisuje wynik. Dla skupionego spojrzenia na tworzenie formularzy zamiast ich wypełniania, zobacz stronę przykładów PDF Forms.

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/fill-pdf-form.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function fillApplicationForm() {
    // Load the PDF containing form fields
    const pdf = await PdfDocument.fromFile("./forms/application-form.pdf");

    // Discover available field names before filling
    const fieldNames = await pdf.getFormFieldNames();
    console.log("Form fields:", fieldNames);

    // Text fields
    await pdf.setFormFieldValue("firstName", "Jane");
    await pdf.setFormFieldValue("lastName", "Doe");
    await pdf.setFormFieldValue("email", "jane.doe@example.com");
    await pdf.setFormFieldValue("phone", "+1-555-987-6543");

    // Date field
    await pdf.setFormFieldValue("dateOfBirth", "03/22/1988");

    // Pole wyboru fields -- pass "true" or "false" as strings
    await pdf.setFormFieldValue("agreeToTerms", "true");
    await pdf.setFormFieldValue("subscribeNewsletter", "false");

    // Dropdown / select field
    await pdf.setFormFieldValue("country", "United States");

    // Multi-line text area
    await pdf.setFormFieldValue("comments", "Application submitted via automated workflow.");

    // Flatten the form to lock values -- prevents further editing
    // await pdf.flattenAllFormFields();

    await pdf.saveAs("./output/filled-application.pdf");
    console.log("Form saved.");
}

fillApplicationForm().catch(console.error);
JavaScript

Po wywołaniu getFormFieldNames(), zwrócona tablica informuje, które nazwy pól użył autor PDF. Jest to najszybszy sposób, aby uniknąć literówek w nazwach pól podczas integracji z formularzami, które nie stworzyłeś.

Porady: Wywołać getFormFieldNames() raz podczas tworzenia, aby wydrukować dokładne nazwy pól w twoim PDF. Hardkodowanie złej nazwy jest najczęstszą przyczyną pustych pól po setFormFieldValue().

Jak Obsługiwać Różne Typy Pól Formularza?

IronPDF obsługuje standardowe typy pól AcroForm: pola tekstowe, przyciski wyboru, rozwijane listy, listy i pola do podpisu. Metoda setFormFieldValue() akceptuje wartości tekstowe dla wszystkich typów; dla pól poczyw mych i radio, akceptowane wartości zależą od określenia pola w PDF.

Poniższa tabela pokazuje format wartości dla każdego typu pola:

Typy pól PDF AcroForm i ich akceptowane formy wartości
Typ polaFormat wartościPrzykład
Tekst / WieloliniowyDowolny ciąg"Jane Doe"
Pole wyboru"true" lub "false""true"
Przycisk radiowyWartość eksportowa opcji"Kobieta"
Rozwijana lista (Combo)Tekst wyświetlany opcji"Stany Zjednoczone"
Pole wyboru (wielokrotny wybór)Tablica ciągów["Opcja1", "Opcja2"]
Data / numeryczneReprezentacja tekstowa"15.06.2024"

Jak działają pola wyboru i przyciski radiowe?

Pola wyboru akceptują "true" do zaznaczenia i "false" do odznaczenia. Przyciski radiowe akceptują wartość eksportową opcji do zaznaczenia -- eksportowany ciąg jest zazwyczaj widoczny w właściwościach pola PDF i różni się od etykiety wyświetlania.

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/field-types.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function handleFieldTypes() {
    const pdf = await PdfDocument.fromFile("./forms/complex-form.pdf");

    // Radio button -- use the field's export value, not its display label
    await pdf.setFormFieldValue("gender", "Female");

    // Pole wyboru
    await pdf.setFormFieldValue("termsAccepted", "true");

    // Dropdown
    await pdf.setFormFieldValue("preferredContact", "Email");

    // Numeric field -- pass the number as a string
    await pdf.setFormFieldValue("invoiceAmount", "1250.00");

    // Date picker
    await pdf.setFormFieldValue("appointmentDate", "2024-06-15");

    await pdf.saveAs("./output/complex-form-filled.pdf");
}

handleFieldTypes().catch(console.error);
JavaScript

Pola listy wielokrotnego wyboru podążają za tym samym wzorcem. Gdy pole pozwala na wiele wyborów, przekaż tablicę ciągów zamiast pojedynczej wartości. Pola podpisu mogą przyjmować ciąg obrazu kodowanego w base64, reprezentujący grafikę podpisu.

Ważne: Jeśli setFormFieldValue() nie wydaje się zmieniać wartości pola, sprawdź, czy nazwa pola jest dokładnym dopasowaniem — nazwy pól w PDF są czułe na wielkość liter. Użyj getFormFieldNames(), aby wyświetlić rzeczywiste nazwy w dokumencie.

Jak zlikwidować pola formularza PDF po ich wypełnieniu?

Likwidacja formularza PDF łączy wszystkie wartości pól z treścią statyczną strony, usuwając warstwę interaktywną. Wynikowy dokument nie może być dalej edytowany, co zapobiega przypadkowym zmianom podczas dystrybucji i zapewnia spójne renderowanie we wszystkich przeglądarkach PDF.

Wywołać flattenAllFormFields() na załadowanym dokumencie po ustawieniu wszystkich wartości pól, a przed zapisaniem.

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/flatten-form.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function fillAndFlattenForm() {
    const pdf = await PdfDocument.fromFile("./forms/contract.pdf");

    // Fill the required fields
    await pdf.setFormFieldValue("signerName", "Jane Doe");
    await pdf.setFormFieldValue("signatureDate", "2024-06-15");
    await pdf.setFormFieldValue("agreementAccepted", "true");

    // Flatten -- converts interactive fields to static content
    await pdf.flattenAllFormFields();

    await pdf.saveAs("./output/contract-signed.pdf");
    console.log("Contract flattened and saved.");
}

fillAndFlattenForm().catch(console.error);
JavaScript

Likwidacja jest odpowiednia dla ostatecznych dostaw -- umów po podpisaniu, certyfikatów po wydaniu lub faktur po zatwierdzeniu. Dla dokumentów, które wymagają dalszego przeglądu przed finalizacją, pominąć flattenAllFormFields() i zapisać bez niego.

Ostrzeżenie: Likwidacja jest nieodwracalna w zapisanej kopii. Przejmij oryginalny, niewypełniony PDF jako szablon, jeśli potrzebujesz ponownie wygenerować dokument.

Jakie są powszechne przypadki użycia automatyzacji formularzy PDF?

Automatyczne wypełnianie formularzy usuwa ręczne wprowadzanie danych z wysokowydajnych przepływów dokumentów. W poniższych scenariuszach omówiono najczęstsze wzorce wdrażane przez programistów z IronPDF.

Przetwarzanie aplikacji: Pobierz dane wnioskodawcy z bazy danych lub API REST i wypełnij formularze PDF dla usług finansowych, ubezpieczeniowych lub procesów przyjmowania w instytucjach rządowych. Połącz wypełnione formularze za pomocą przykładu Łączenie PDF, aby stworzyć jeden wielostronicowy pakiet zgłoszeniowy.

Generowanie faktur i paragonów: Wypełnij szablony faktur danymi z pozycji, danymi klienta i obliczonymi sumami. Dodaj nagłówki i stopki stron za pomocą technik pokazanych w przykładzie HTML Nagłówki i Stopki.

Generowanie certyfikatów i poświadczeń: Personalizuj szablony certyfikatów z nazwiskami odbiorców, datami ukończenia i tytułami kursów. Dodaj zabezpieczenie za pomocą przykładu Podpisy Cyfrowe, aby zapobiec manipulacji po wydaniu. Standard PDF/A jest często wymagany do długoterminowej archiwizacji certyfikatów w przemysłach regulowanych.

Generowanie raportów: Wypełniaj szablony raportów danymi analitycznymi lub wynikami ankiet. W przypadkach, gdy potrzebujesz zbudować układ PDF od podstaw, zamiast wypełniać istniejący formularz, zobacz samouczek HTML do PDF.


Jakie są kolejne kroki w wypełnianiu formularzy PDF w Node.js?

Ten przewodnik pokazał ładowanie PDF, wypełnianie pól tekstowych, pól wyboru, list rozwijanych i przycisków radiowych, likwidację formularza w celu zablokowania wartości i zapisanie ukończonego dokumentu. Ta sama instancja PdfDocument obsługuje dalsze operacje — dodawanie podpisów cyfrowych, kompresowanie wyniku lub wydobywanie tekstu — bez ponownego ładowania pliku.

Rozpocznij bezpłatny okres próbny, aby przetestować IronPDF w swoim projekcie lub zobacz opcje licencjonowania, aby znaleźć plan, który pasuje do Twojego wdrożenia.

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Sprawdź pełną kolekcję samouczków Node.js tutaj: HTML to PDF in Node.js

Często Zadawane Pytania

Jakie warunki muszę spełnić, aby wypełniać formularze PDF w Node.js?

Potrzebujesz Node.js 18 lub wyżej, klucza licencyjnego IronPDF (dostępna jest bezpłatna wersja próbna) oraz pliku binarnego IronPdfEngine. Silnik jest dołączony do pakietu @ironsoftware/ironpdf i pobierany automatycznie podczas instalacji.

Jak zainstalować IronPDF for Node.js?

Uruchom npm install @ironsoftware/ironpdf w katalogu projektu. Komenda instaluje pakiet i jego specyficzne platformowe pliki binarne dla Windows, Linux i macOS. Deklaracje typów TypeScript są dołączone.

Jak odkryć nazwy pól w formularzu PDF?

Wywołaj await pdf.getFormFieldNames() po załadowaniu PDF za pomocą PdfDocument.fromFile(). Metoda zwraca tablicę wszystkich nazw pól w dokumencie. Nazwy pól PDF są rozróżniane wielkością liter, więc używaj dokładnie tych ciągów, które są zwracane.

Jaki format wartości akceptują pola wyboru i przyciski radiowe?

Pola wyboru akceptują ciąg znaków "true", aby zaznaczyć, i "false", aby odznaczyć. Przyciski radiowe akceptują wartość eksportową docelowej opcji jako ciąg tekstowy. Użyj getFormFieldNames() i sprawdź właściwości pól PDF, aby znaleźć poprawną wartość eksportową.

Jak zapobiec edytowaniu wypełnionego formularza PDF?

Wywołaj await pdf.flattenAllFormFields() po ustawieniu wszystkich wartości pól, a przed saveAs(). Spłaszczanie łączy wartości pól w treści statycznej strony usuwając interaktywną warstwę formularza. Operacja jest nieodwracalna w zapisanym pliku.

Czy mogę używać IronPDF dla Node.js razem z TypeScript?

Tak. Pakiet @ironsoftware/ironpdf zawiera deklaracje TypeScript (.d.ts pliki), dzięki czemu uzyskasz pełne sprawdzanie typów i IntelliSense w VS Code oraz innych edytorach, bez potrzeby instalowania oddzielnego pakietu typów.

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ęczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Wersja:2026.6właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Pobieranie modułu Node.js dla PDF
Zainstaluj za pomocą npm

Wersja: 2026.6

  1. Download and install Node.js 12+.
  2. Wykonaj powyższe polecenie w terminalu.

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta