IRONSOFTWAREHOME

Jak tworzyć pliki PDF w Node.js

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

Tworzenie plików PDF programowo w Node.js wymaga biblioteki, która dokładnie obsługuje renderowanie HTML, wspiera nowoczesne CSS i integruje się czysto z asynchronicznymi wzorcami Node. IronPDF wykorzystuje silnik renderujący oparty na Chromie do konwersji treści HTML na PDF-y dopasowane do wydruku Chrome, obsługując pełne CSS, wbudowany JavaScript i elastyczne układy bezpośrednio.

Ten przewodnik obejmuje cały proces pracy: instalację, generowanie PDF z ciągów HTML, plików HTML i URL-ów, konfigurowanie opcji wyjścia i stosowanie funkcji dla przedsiębiorstw, takich jak nagłówki, stopki, podpisy cyfrowe i szyfrowanie.

Szybki start: Stwórz PDF w Node.js
  1. Zainstaluj IronPDF przez npm: npm install @ironsoftware/ironpdf
  2. Importuj PdfDocument z @ironsoftware/ironpdf
  3. Wywołaj PdfDocument.fromHtml() z swoją zawartością HTML
  4. Wywołaj .saveAs(), aby zapisać plik PDF na dysku
import { PdfDocument } from "@ironsoftware/ironpdf";

const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
JavaScript

Skonfiguruj IronPdfEngine dla swojej platformy przed uruchomieniem w produkcji. Zobacz przewodnik po instalacji IronPdfEngine dla Windows, Linux, macOS i Docker.

Jak zainstalować IronPDF for Node.js?

Zainstaluj pakiet @ironsoftware/ironpdf używając npm. Pakiet działa z Node.js 12.0 lub nowszym i obsługuje formaty modułów ESM i CommonJS.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
SHELL

IronPDF dla Node.js jest zależny od pliku binarnego IronPDF Engine, który obsługuje renderowanie oparte na Chromium. Silnik pobierany jest automatycznie przy pierwszym uruchomieniu, ale można wcześniej zainstalować pakiet specyficzny dla platformy, aby uniknąć pobierania w czasie wykonania. Jest to przydatne w ograniczonych środowiskach sieciowych lub pipeline'ach CI opartych na Dockerze:

Pakiety platformowe IronPDF Engine do wcześniejszej instalacji w środowiskach offline lub z ograniczeniami
PlatformaPakiet
Windows x64@ironsoftware/IronPDF-engine-Windows-x64
Linux x64@ironsoftware/IronPDF-engine-linux-x64
macOS x64@ironsoftware/IronPDF-engine-macos-x64
macOS ARM@ironsoftware/IronPDF-engine-macos-arm64
Zwróć uwagę: Klucz licencyjny usuwa znak wodny z generowanych PDF. Stosuj to przed pierwszym wywołaniem PdfDocument przez ustawienie IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }). Przestrzegaj pełnych instrukcji konfiguracji klucza licencyjnego.

Jakie są wymagania systemowe dla IronPDF?

IronPDF dla Node.js działa na Node.js 12.0 lub nowszym w środowiskach Windows, Linux, macOS i Docker. Biblioteka obsługuje zarówno architektury x64, jak i ARM64, co czyni ją odpowiednią do rozwoju lokalnego i wdrożeń kontenerowych. Dla środowisk chmurowych IronPDF obsługuje także połączenie z zdalnym IronPDF Engine zamiast lokalnego uruchamiania silnika.


Jak Utworzyć PDF z HTML w Node.js?

Użyj PdfDocument.fromHtml(), aby wygenerować PDF z ciągu HTML. Metoda przyjmuje dowolny ważny HTML, w tym inline <style> bloki, zewnętrzne czcionki ładowane przez CDN i systemy układu jak CSS Grid lub Flexbox. Renderer Chromium rozwiązuje wszystkie zasoby przed wygenerowaniem PDF.

import { PdfDocument } from "@ironsoftware/ironpdf";

const htmlContent = `
  <!DOCTYPE html>
  <html>
  <head>
    <style>
      body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
      .header { background: #2b4c8c; color: white; padding: 24px 32px; }
      .header h1 { margin: 0; font-size: 22px; }
      .body { padding: 32px; }
      table { width: 100%; border-collapse: collapse; margin-top: 16px; }
      th { background: #f0f4fb; text-align: left; padding: 8px 12px; }
      td { padding: 8px 12px; border-bottom: 1px solid #e0e0e0; }
    </style>
  </head>
  <body>
    <div class="header"><h1>Invoice #INV-2025-0042</h1></div>
    <div class="body">
      <p>Date: ${new Date().toLocaleDateString()}</p>
      <table>
        <tr><th>Item</th><th>Qty</th><th>Unit Price</th><th>Total</th></tr>
        <tr><td>IronPDF Enterprise License</td><td>1</td><td>$499.00</td><td>$499.00</td></tr>
        <tr><td>Priority Support (1 year)</td><td>1</td><td>$199.00</td><td>$199.00</td></tr>
      </table>
      <p style="text-align:right; margin-top:16px;"><strong>Total: $698.00</strong></p>
    </div>
  </body>
  </html>`;

// Generate the PDF from the HTML string
const pdf = await PdfDocument.fromHtml(htmlContent);
await pdf.saveAs("invoice.pdf");
JavaScript

PdfDocument.fromHtml() zwraca instancję PdfDocument. Użyć saveAs() z żądanym ścieżką wyjścia, aby zapisać plik. Metoda jest asynchroniczna, więc użyj await lub połącz z .then() handlerem. Silnik Chromium obsługuje ładowanie czcionek, zewnętrznych arkuszy stylów i rozwiązywanie zasobów przed uchwyceniem wyniku. Dla więcej wzorców, zobacz przykład konwersji ciągu HTML do PDF.

Jak Utworzyć PDF z Pliku HTML?

Załadować istniejący plik .html z dysku przy użyciu PdfDocument.fromFile(). To podejście działa dobrze dla zszablonizowanych dokumentów, gdzie HTML jest utrzymywany oddzielnie od logiki aplikacji.

import { PdfDocument } from "@ironsoftware/ironpdf";

// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");
JavaScript

Renderer rozwiązuje względne ścieżki zasobów z katalogu pliku HTML, więc lokalne odniesienia do CSS i obrazów działają bez dodatkowej konfiguracji. Zobacz przykład konwersji pliku HTML do PDF dla dodatkowych opcji, w tym jak nadpisać podstawowy URL do rozwiązywania zasobów.

Jak Wygenerować PDF z URL?

Użyć PdfDocument.fromUrl(), aby wyrenderować stronę internetową na żywo jako PDF. Renderer ładuje stronę jako pełną sesję przeglądarki, wykonując JavaScript, stosując CSS i czekając na dynamiczną treść przed uchwyceniem wyniku.

import { PdfDocument } from "@ironsoftware/ironpdf";

// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");
JavaScript

Dla stron, które ładują treść asynchronicznie za pośrednictwem JavaScriptu, sparować to z opcją renderDelay (w milisekundach), aby dać dodatkowy czas przed przechwytem. Przykład konwersji URL do PDF pokazuje konfigurację opóźnienia i nagłówki uwierzytelnienia.


Jak Skonfigurować Ustawienia Wyjściowe PDF?

Przekazać obiekt konfiguracji jako drugi argument do PdfDocument.fromHtml(), PdfDocument.fromFile(), lub PdfDocument.fromUrl(). Obiekt konfiguracji akceptuje rozmiar papieru, marginesy, orientację i opcje renderowania.

import { PdfDocument, PdfPaperSize } from "@ironsoftware/ironpdf";

const config = {
    paperSize: PdfPaperSize.A4,
    marginTop: 25,
    marginBottom: 25,
    marginLeft: 20,
    marginRight: 20,
    landscape: false,
    printBackground: true,
};

const pdf = await PdfDocument.fromHtml("<h1>Configured PDF</h1>", config);
await pdf.saveAs("configured-output.pdf");
JavaScript

Kluczowe opcje konfiguracji obejmują:

  • paperSize: akceptuje wartości enumeracji PdfPaperSize (A4, Letter, Legal, i niestandardowe rozmiary)
  • landscape: ustawić true dla orientacji poziomej strony
  • printBackground: zawierać kolory tła CSS i obrazy
  • marginTop/Bottom/Left/Right: marginesy stron w milimetrach
  • renderDelay: milisekundy do odczekania przed przechwyceniem dla stron obciążonych JavaScriptem

Jak Dodać Nagłówki i Stopki do PDF?

Dodać nagłówki i stopki, dostarczając właściwości htmlHeader oraz htmlFooter w obiekcie konfiguracji. Oba akceptują pełne ciągi HTML, umożliwiając stylizowaną treść z numerami stron, datami i tekstem dynamicznym.

import { PdfDocument } from "@ironsoftware/ironpdf";

const config = {
    htmlHeader: {
        htmlFragment: "<div style='text-align:center; font-size:12px; color:#666;'>Quarterly Report - Confidential</div>",
        dividerLine: true,
    },
    htmlFooter: {
        htmlFragment: "<div style='text-align:right; font-size:10px;'>Page {page} of {total-pages}</div>",
        dividerLine: true,
    },
};

const pdf = await PdfDocument.fromHtml("<h1>Q3 Financial Summary</h1><p>See attached tables.</p>", config);
await pdf.saveAs("report-with-headers.pdf");
JavaScript

Użyć tokenów {page} i {total-pages} w HTML-u stopki. IronPDF zastępuje odpowiednie wartości w momencie renderowania. Dla więcej wzorców nagłówków i stopek, w tym HTML nagłówki i stopki oraz zaawansowane techniki nagłówków, zobacz podlinkowane przykłady.


Jak Dodać Zabezpieczenia i Metadane do PDF?

Zastosować ochronę hasłem i szyfrowanie do wygenerowanego PDF używając metod zabezpieczeń PdfDocument. Biblioteka obsługuje zarówno hasła właściciela, jak i użytkownika, z drobiazgową kontrolą uprawnień do drukowania, kopiowania i edytowania.

import { PdfDocument } from "@ironsoftware/ironpdf";

const pdf = await PdfDocument.fromHtml("<h1>Confidential Document</h1>");

// Apply password protection with granular permissions
await pdf.securePdf({
    userPassword: "view-password",
    ownerPassword: "admin-password",
    allowUserAnnotations: false,
    allowUserPrinting: true,
    allowUserCopyPasteContent: false,
});

await pdf.saveAs("secured-document.pdf");
JavaScript

Szyfrowanie i deszyfrowanie używają domyślnie szyfrowania AES 256-bitowego przy zastosowaniu haseł. Dla procesów uwierzytelniania dokumentów IronPDF obsługuje także podpisy cyfrowe przy użyciu certyfikatów X.509.

Porady: Dla dokumentów wymagających zgodności z długoterminowym archiwizowaniem, użyj PdfDocument.fromHtml() przed metodą konwersji PDF/A. IronPDF obsługuje zgodność PDF/A i standardy dostępności PDF/UA.

Jak Scalac i Manipulowac istniejace PDFy?

PdfDocument dostarcza metod do łączenia, dzielenia i modyfikacji istniejących plików PDF. Załadować istniejący PDF za pomocą PdfDocument.fromFile() i użyć metod manipulacji, aby dodać lub usunąć strony, oznaczyć zawartość lub zamienić tekst.

import { PdfDocument } from "@ironsoftware/ironpdf";

// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
    await PdfDocument.fromFile("./report-part1.pdf"),
    await PdfDocument.fromFile("./report-part2.pdf"),
]);

await merged.saveAs("./complete-report.pdf");
JavaScript

PdfDocument.mergePdf() akceptuje tablicę instancji PdfDocument i zwraca pojedynczy scalony dokument. Kolejność stron jest zgodna z kolejnością tablicy, więc wynik zachowuje sekwencję plików wejściowych.

Inne powszechne operacje manipulacji:

Dla scenariuszy o dużej ilości danych, generowanie PDF w wielu wątkach pozwala przetwarzać wiele dokumentów równolegle. Kompresja PDF zmniejsza rozmiary plików do przechowywania i transmisji.


Jak Generowac PDFy dla Złożonych Treści jak Wykresy i Strony Angular?

IronPDF renderuje strony używając pełnej sesji przeglądarki Chromium, co oznacza, że biblioteki JavaScript, które tworzą wykresy, grafy lub wizualizacje danych, renderują się poprawnie, w tym JavaScript biblioteki wykresów. Aplikacje jednostronicowe zbudowane z użyciem frameworków takich jak Angular także konwertują się łatwo, używając przykładu Angular do PDF.

Dla dokumentów o dużej zawartości Unicode lub wyjściu wielojęzycznym IronPDF obsługuje Unicode i zestawy znaków międzynarodowych bez dodatkowej konfiguracji. Przykład integracji z Google Fonts pokazuje, jak ładować czcionki internetowe w renderowanym HTML dla spójnej typografii w wyniku PDF.

Zwróć uwagę: Renderer Chromium IronPDF wykonuje JavaScript przed uchwyceniem PDF. Jeżeli twoja biblioteka wykresów lub SPA wymaga dodatkowego czasu do wyrenderowania danych po załadowaniu DOM, ustaw renderDelay w milisekundach, aby dać stronie czas na pełne wyrenderowanie.

Jakie Są Następne Kroki Tworzenia PDF w Node.js?

Ten przewodnik obejmował podstawowy przepływ pracy w IronPDF: instalację biblioteki, generowanie PDF z ciągów HTML, plików i URL, konfigurację ustawień wyjściowych, dodawanie nagłówków i stopek, stosowanie zabezpieczeń oraz manipulację istniejącymi PDFami.

Aby kontynuować, spróbuj kompletnego samouczka HTML to PDF dla głębszej analizy opcji renderowania, lub przeglądaj Dokumentację API dla pełnej listy metod i właściwości konfiguracji PdfDocument.

Rozpocznij bezplatna wersje probna, aby generowac PDFy bez znakow wodnych, lub zobacz opcje licencjonowania dla wdrozen produkcyjnych.

Często Zadawane Pytania

Jaki jest najprostszy sposób tworzenia plików PDF w Node.js?

Zainstaluj IronPDF za pomocą npm install @ironsoftware/ironpdf, następnie wywołaj PdfDocument.fromHtml() z ciągiem HTML i zapisz wynik używając saveAs(). Biblioteka automatycznie obsługuje całe renderowanie.

Jak zainstalować IronPDF for Node.js?

Uruchom npm install @ironsoftware/ironpdf w swoim katalogu projektu. Plik binarny IronPDF Engine pobiera się automatycznie przy pierwszym użyciu. Dla środowisk offline lub CI, zainstaluj oddzielnie specyficzny dla platformy pakiet silnika, taki jak @ironsoftware/ironpdf-engine-linux-x64.

Czy mogę konwertować HTML na PDF z zachowaniem stylów CSS i formatowania?

Tak. IronPDF używa silnika renderowania bazującego na Chromie, który zachowuje wszystkie style CSS, zewnętrzne czcionki oraz wykonywanie JavaScriptu podczas konwersji HTML na PDF. Wyjście odpowiada zachowaniu podglądu druku w Chromie.

Jakie funkcje PDF są dostępne poza podstawową konwersją HTML?

IronPDF obsługuje podpisy cyfrowe, szyfrowanie AES 256-bitowe, ochronę hasłem z precyzyjnymi uprawnieniami, niestandardowe nagłówki i stopki z tokenami numerów stron, łączenie PDF, usuwanie stron, stemplowanie HTML, ekstrakcję tekstu, zgodność z PDF/A oraz generowanie wielowątkowe.

Jak utworzyć PDF z pliku HTML na dysku?

Użyj PdfDocument.fromFile('./path/to/template.html'). Renderer rozwiązuje ścieżki względne zasobów z katalogu pliku HTML, więc lokalne odniesienia CSS i obrazów działają bez dodatkowej konfiguracji.

Czy mogę wyciągnąć tekst z istniejących plików PDF używając IronPDF?

Tak. Załaduj istniejący PDF za pomocą PdfDocument.fromFile() i użyj metod ekstrakcji tekstu, aby przeczytać zawartość z dowolnej strony. IronPDF obsługuje zarówno tworzenie nowych PDF, jak i przetwarzanie istniejących dokumentów.

Czy IronPDF obsługuje wykonywanie JavaScriptu podczas renderowania HTML?

Tak. Renderer Chrome wykonuje JavaScript przed uchwyceniem PDF. Dla stron, które ładują zawartość asynchronicznie, ustaw opcję renderDelay w milisekundach, aby dać stronie dodatkowy czas przed uchwyceniem.

Is it possible to apply digital signatures to PDFs with IronPDF?

Yes, IronPDF supports applying digital signatures to PDFs using X.509 certificates. This feature is useful for document authentication and secure workflows.

How does IronPDF handle complex content like charts in PDFs?

IronPDF uses a full Chromium browser session to render pages, which means JavaScript chart libraries and frameworks like Angular are fully supported. This allows charts, graphs, and other complex visualizations to render correctly in the output PDFs.

What are the system requirements for using IronPDF on Node.js?

IronPDF requires Node.js 12.0 or higher and runs on Windows, Linux, macOS, and Docker environments. It supports both x64 and ARM64 architectures, making it suitable for various deployment scenarios including local development and cloud environments.

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.

Your trial license will be sent to your email address

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

OR
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 Iron Suite
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
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