Przejdź do treści stopki
PORóWNANIA PRODUKTóW

Porównanie między npm PDFKit a IronPDF dla Node.js

Ten poradnik wglądnie we JavaScript SDK IronPDF i PDFKit - dwóch dużych nazwisk w świecie bibliotek PDF JavaScript. Obie są solidnymi wyborami dla projektów Node.js, ale mają swoje mocne i słabe strony.

Celem tego artykułu jest zapewnienie czytelnikom prawdziwego wrażenia, jak narzędzia IronPDF i PDFKit mogą wpasować się w workflow Node.js dewelopera. Niezależnie od tego, czy piszesz podstawowe PDF-y, czy zajmujesz się skomplikowanymi układami, zrozumienie, co IronPDF i PDFKit potrafią (i czego nie potrafią) jest niezwykle ważne.

PDFKit

PDFKit jest zaawansowaną biblioteką do generowania PDF w JavaScript dla środowiska Node.js i przeglądarek. Jego kompleksowy zestaw narzędzi sprawia, że idealnie nadaje się do tworzenia wielostronicowych, drukowanych dokumentów z łatwością. Biblioteka została zaprojektowana, aby być łatwa w użyciu, upraszczając proces generowania skomplikowanych dokumentów.

PDFKit wyróżnia się swoimi potężnymi możliwościami grafiki wektorowej, rozbudowanymi opcjami stylizacji tekstu i czcionek, funkcjami osadzania obrazów oraz wsparciem dla interaktywnych i bezpiecznych dokumentów PDF. Jego łatwość użytkowania, połączona z wszechstronnością zarówno dla środowisk serwerowych, jak i przeglądarkowych, czyni go wartościowym narzędziem dla deweloperów potrzebujących generować niestandardowe PDF-y w różnych zastosowaniach.

Kluczowe cechy PDFKit

  • Elastyczne generowanie PDF

    PDFKit nie polega na konwersji HTML do PDF; zamiast tego generuje PDF-y bezpośrednio za pomocą kodu JavaScript. To podejście daje deweloperom precyzyjną kontrolę nad układem, stylami oraz treścią plików PDF, które tworzą, więc generowanie skomplikowanych dokumentów jest łatwiejsze.

  • Grafika i formatowanie tekstu

    Biblioteka obsługuje zaawansowane możliwości graficzne, w tym linie, krzywe, prostokąty, okręgi i więcej. Funkcje formatowania tekstu takie jak niestandardowe czcionki, rozmiary i kolory umożliwiają tworzenie wizualnie przyjemnych dokumentów.

  • Osadzanie obrazów i grafika wektorowa

    PDFKit pozwala na osadzanie obrazów w różnych formatach i obsługuje grafikę wektorową, czyniąc go idealnym dla dokumentów do druku w wysokiej jakości. Osadzanie obrazów obsługuje pliki JPEG i PNG.

  • Zaawansowane funkcje dokumentów

    Deweloperzy mogą dodawać adnotacje, zakładki i hiperłącza do swoich PDF-ów. Biblioteka obsługuje również tworzenie nagłówków i stopek oraz wprowadzanie numeracji stron i niestandardowego JavaScript.

  • Komponenty dostosowywalne i wielokrotnego użytku

    API PDFKit ułatwia tworzenie komponentów wielokrotnego użytku, usprawniając proces tworzenia dokumentów o powtarzalnych strukturach, takich jak faktury czy raporty.

  • Grafika wektorowa

PDFKit oferuje API podobne do HTML5 canvas dla grafiki wektorowej, w tym operacje na ścieżkach, parsowanie ścieżek SVG, transformacje i gradienty. Jest to idealne do tworzenia skalowalnej, wysokiej jakości grafiki w plikach PDF. Biblioteka obsługuje zawijanie tekstu, różne wyrównania tekstu oraz listy punktowane.

  • Zagnieżdżone czcionki

PDFKit obsługuje szeroki zakres formatów czcionek, takich jak TrueType, OpenType, WOFF i inne, co pozwala na spójną typografię w plikach PDF. Dostępna jest także redukcja czcionek, co zapewnia, że rozmiar dokumentu pozostaje możliwy do zarządzania.

IronPDF Node.js

Za pomocą IronPDF można łatwo przekształcić ciągi HTML, pliki lub nawet całe strony internetowe w pliki PDF, które wyglądają dokładnie tak jak oryginalna treść, w pełni zachowując stylizację CSS i obrazy. Jest to kluczowe dla dostarczania dokumentów na poziomie profesjonalnym, takich jak faktury, umowy i raporty, które muszą zachować markę i układ określony przez projekty webowe.

Kluczowe funkcje IronPDF dla Node.js

Konwersja HTML do PDF

IronPDF doskonale przekształca zawartość HTML w dokumenty PDF o wysokiej wierności. Do jego możliwości należą:

  • Ciąg HTML do PDF: Ta funkcja pozwala na przekształcenie dynamicznych ciągów HTML bezpośrednio na pliki PDF.
  • Plik HTML do PDF: Dzięki temu statyczne pliki HTML można łatwo przekształcić w format PDF, zachowując układ i stylizację.
  • URL do PDF: IronPDF może uchwycić całe strony internetowe za pomocą URL i konwertować je na pliki PDF, co jest idealne do archiwizacji i dostępu offline.

Formatowanie dokumentów PDF

IronPDF oferuje wszechstronne narzędzia do formatowania, które umożliwiają personalizację i ulepszanie PDF-ów tworzonych z zawartości HTML, takich jak:

  • JavaScript w HTML do PDF: Przed konwersją IronPDF może wykonać JavaScript wewnątrz HTML, umożliwiając renderowanie dynamicznych danych lub elementów interaktywnych w statycznym formacie PDF.
  • Osadzanie kodów kreskowych z IronPDF: IronPDF obsługuje osadzanie kodów kreskowych w dokumentach PDF, funkcję niezbędną dla dokumentów używanych w logistyce, handlu detalicznym i zarządzaniu inwentarzem.
  • Stosowanie szablonów stron: Standaryzuj wygląd i styl swoich dokumentów, stosując szablony stron, które mogą być wcześniej zdefiniowanymi układami, aby zapewnić spójność między wieloma plikami PDF.
  • Zdefiniowane użytkownika czcionki w HTML do PDF: IronPDF umożliwia osadzanie niestandardowych czcionek bezpośrednio z zawartości HTML do pliku PDF, zapewniając, że marka i projekt są spójne i zgodne we wszystkich dokumentach.

Edytuj zawartość strony

Funkcje edycji IronPDF są rozległe, umożliwiając modyfikację istniejących plików PDF, aby dopasować je do określonych potrzeb:

  • Wyszukiwanie i zamiana tekstu w dokumentach PDF: Ta funkcja pozwala użytkownikom wyszukać i zastąpić tekst w pliku PDF, dzięki czemu aktualizacje i korekty stają się prostym zadaniem.
  • Dodawanie treści HTML do PDF-ów: Użytkownicy mogą wstawiać więcej zawartości HTML do istniejącego pliku PDF. Funkcja ta jest zoptymalizowana, aby zapewnić, że dodatkowa zawartość nie wpływa na wydajność ani czas ładowania dokumentu.
  • Nakładanie nowej zawartości na PDF-y: IronPDF może nakładać lub nakładać nową zawartość na istniejącą stronę PDF. Jest to przydatne do dodawania oficjalnych znaków wodnych, pieczęci poufności czy aktualizacji informacji na wcześniej istniejących dokumentach.

Używanie formularzy PDF

IronPDF obsługuje tworzenie i manipulowanie formularzami PDF, umożliwiając interaktywne elementy w pliku PDF:

Formularze PDF: Obejmuje to tworzenie formularzy, które można wypełniać cyfrowo, umożliwiając firmom zautomatyzowanie procesu zbierania danych. Dzięki IronPDF można programowo tworzyć formularze, wypełniać pola, a nawet pobierać informacje, co usprawnia przepływ pracy i redukuje ręczne wprowadzanie danych.

Kompatybilność międzyplatformowa

IronPDF obsługuje różne platformy, co czyni go wszechstronnym dla różnych środowisk deweloperskich. Jest kompatybilny z wersją Node.js 12.0 i wyższymi i może być używany na Windows, Linux, Mac i Docker.

Doświadczenie użytkownika i dostępność

  • Łatwa instalacja: Instalacja IronPDF jest prosta przy użyciu prostych poleceń npm lub yarn. Silnik IronPDF, niezbędny do działania biblioteki, jest automatycznie pobierany przy pierwszym uruchomieniu.
  • Przykładowy kod na szybki start: Biblioteka dostarcza przykładowe fragmenty kodu dla różnych funkcji, takich jak konwersja HTML do PDF, co upraszcza proces implementacji dla deweloperów.

Tworzenie projektu JavaScript w Visual Studio Code

Konfiguracja środowiska programistycznego

Zanim zanurzysz się w świat generowania PDF, musisz skonfigurować środowisko projektu. Visual Studio Code (VS Code) zapewnia idealną, przyjazną dla użytkownika platformę do tego. Rozpocznij od uruchomienia VS Code i utworzenia nowego projektu JavaScript. Możesz to zrobić, tworząc nowy folder dla swojego projektu i otwierając go w VS Code. To środowisko będzie miejscem, w którym będziesz pisać kod i zarządzać plikami projektu.

Inicjacja projektu

Gdy folder jest już otwarty w VS Code, następnym krokiem jest zainicjowanie nowego projektu JavaScript. Otwórz zintegrowany terminal w programie VS Code (zwykle znajduje się w menu pod Terminal > Nowy Terminal) i wpisz npm init. To polecenie przeprowadzi cię przez tworzenie pliku package.json, który jest kluczowy dla zarządzania zależnościami i metadanymi projektu.

Zainstaluj bibliotekę IronPDF

Dodawanie IronPDF do projektu

Po skonfigurowaniu projektu JavaScript, czas zainstalować bibliotekę IronPDF. W terminalu VS Code uruchom następujące polecenie:

npm install ironpdf
npm install ironpdf
SHELL

To polecenie pobiera i instalując bibliotekę IronPDF, dodając ją do zależności projektu.

Weryfikacja instalacji

Po instalacji upewnij się, że IronPDF jest wymieniony w pliku package.json w sekcji zależności. To zapewnia, że IronPDF jest prawidłowo zintegrowany z projektem, otwierając możliwości tworzenia i manipulowania PDF-ami.

Porównanie między PDFKit npm a IronPDF For Node.js: Rysunek 1

Instalacja biblioteki PDFKit

Integracja PDFKit

Kolejnym krokiem jest PDFKit, solidna i wszechstronna biblioteka do generowania dokumentów PDF. Aby dodać PDFKit do swojego projektu, wykonaj następujące polecenie w terminalu w VS Code:

npm install pdfkit
npm install pdfkit
SHELL

To zainstaluje PDFKit i doda do zależności twojego projektu.

Zapewnienie poprawnej konfiguracji

Po pomyślnej instalacji zweryfikuj, czy PDFKit pojawia się w zależnościach pliku package.json. To potwierdzenie jest kluczowe, aby upewnić się, że twój projekt jest teraz wyposażony w narzędzia niezbędne do tworzenia skomplikowanych, szczegółowych i wizualnie atrakcyjnych plików PDF.

Porównanie między PDFKit npm a IronPDF For Node.js: Rysunek 2

Porównanie funkcji konwersji HTML na PDF w IronPDF i PDFKit

Konwersja HTML na PDF w IronPDF

IronPDF dla Node.js wyróżnia się w konwersji HTML na PDF, oferując wydajne rozwiązanie dla deweloperów. Biblioteka ta jest biegła w obsłudze skomplikowanych zadań, takich jak renderowanie stylów CSS, wykonywanie JavaScript i włączanie niestandardowych nagłówków i stopki. Te funkcjonalności znacznie zwiększają jego zdolność do tworzenia dokumentów PDF klasy profesjonalnej z źródeł HTML. IronPDF dla Node.js oferuje trzy wygodne metody do tego procesu konwersji:

  1. Ciąg znaków HTML do pliku PDF
  2. Plik HTML do PDF
  3. URL do PDF: Ta unikalna funkcja umożliwia konwersję stron internetowych na PDF-y za pomocą ich URL. To wydajny sposób na uchwycenie żywej, online treści w formacie PDF.

Konwersja ciągów HTML do PDF

Ta metoda pozwala deweloperom bezpośrednio przekształcać ciągi kodu HTML na pliki PDF. Funkcja ta jest wyjątkowo przydatna w scenariuszach związanych z generowaniem dynamicznej treści. Niezależnie od tego, czy tworzysz spersonalizowane raporty, generując faktury na bieżąco, czy musisz prezentować zawartość opartą na danych w wypolerowanym, profesjonalnym formacie, ta funkcja upraszcza proces.

import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Create a PDF from the HTML String
    const pdf = await PdfDocument.fromHtml(
      "<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF Node.js!</h1>"
    );
    // Save the PDF document to the file system.
    await pdf.saveAs("HtmlStringToPDF.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Create a PDF from the HTML String
    const pdf = await PdfDocument.fromHtml(
      "<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF Node.js!</h1>"
    );
    // Save the PDF document to the file system.
    await pdf.saveAs("HtmlStringToPDF.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

Tutaj można zobaczyć wynik działania kodu:

Porównanie między PDFKit npm a IronPDF For Node.js: Rysunek 3

Konwersja plików HTML do PDF

Dzięki tej funkcji deweloperzy mogą przekształcać istniejące pliki HTML na PDF-y. To funkcja jest szczególnie korzystna do obsługi statycznych dokumentów HTML. Niezależnie od tego, czy pracujesz z wstępnie zaprojektowanymi stronami www, standardowymi formularzami, czy broszurami informacyjnymi, ta funkcja zapewnia prostą drogę do przekształcenia ich w PDF-y.

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

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Create a PDF from the HTML File"
    const pdf = await PdfDocument.fromFile("invoice.html");
    // Save the PDF document to the file system.
    await pdf.saveAs("invoice.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Create a PDF from the HTML File"
    const pdf = await PdfDocument.fromFile("invoice.html");
    // Save the PDF document to the file system.
    await pdf.saveAs("invoice.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

Tutaj znajduje się wygenerowany plik PDF z fakturą:

Porównanie między PDFKit npm a IronPDF For Node.js: Rysunek 4

Konwersja URL do PDF

Funkcja ta umożliwia konwersję stron internetowych na PDF-y poprzez wykorzystanie ich URL. To funkcja jest szczególnie przydatna do uchwycenia żywej, online treści. Niezależnie od tego, czy chodzi o archiwizację stron internetowych, tworzenie kopii offline artykułów online, czy generowanie raportów z danych opartych na stronach, ta funkcja radzi sobie z tym bez wysiłku.

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

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // URL of the web page to convert to PDF
    const url = "https://en.wikipedia.org/wiki/PDF";
    // Convert the Web Page to a pixel-perfect PDF file.
    const urlPDF = await PdfDocument.fromUrl(url);
    // Save the document.
    await urlPDF.saveAs("UrlToPdf.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // URL of the web page to convert to PDF
    const url = "https://en.wikipedia.org/wiki/PDF";
    // Convert the Web Page to a pixel-perfect PDF file.
    const urlPDF = await PdfDocument.fromUrl(url);
    // Save the document.
    await urlPDF.saveAs("UrlToPdf.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

Tutaj znajduje się plik PDF wygenerowany z URL:

Porównanie między PDFKit npm a IronPDF For Node.js: Rysunek 5

Konwersja HTML na PDF w PDFKit

PDFKit, choć nie jest pierwotnie zaprojektowany do konwersji HTML na PDF jak IronPDF, nadal oferuje sposób na programowe tworzenie dokumentów PDF bezpośrednio z kodu JavaScript. Poniżej znajduje się przykład pokazujący, jak utworzyć prosty plik PDF:

const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
   .text('PDFKit - Text to PDF Example', 100, 100);
doc.end();
const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
   .text('PDFKit - Text to PDF Example', 100, 100);
doc.end();
JAVASCRIPT

Ten fragment kodu tworzy plik PDF z tekstowym nagłówkiem. Chociaż PDFKit nie konwertuje HTML na PDF bezpośrednio, pozwala na szczegółową kontrolę nad umiejscowieniem i formatowaniem tekstu.

Oto plik wyjściowy wygenerowany przez PDFKit:

Porównanie między PDFKit npm a IronPDF For Node.js: Rysunek 6

Elastyczność i zaawansowane funkcje

IronPDF Node.js

Hasła, bezpieczeństwo i metadane: IronPDF umożliwia deweloperom wzmacnianie bezpieczeństwa plików PDF dzięki różnym funkcjom. Pozwala na ustawienie haseł, dodając dodatkową warstwę ochrony, która wymaga od użytkowników wpisania hasła, aby wyświetlić dokument. Dodatkowo IronPDF dostarcza możliwości osadzania metadanych w pliku PDF, które mogą zawierać informacje o autorze, tytuły i słowa kluczowe, zwiększając tym samym zarządzanie i organizację dokumentów.

import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Import a PDF document or create a new PDF from Html
  const pdf = await PdfDocument.open("encrypted.pdf", "password");
  // Create an empty Map
  const newMetadata = new Map();
  // Add key-value pairs of metadata
  newMetadata.set("Author", "Satoshi Nakamoto");
  newMetadata.set("Keywords", "SEO, Friendly");
  await pdf.overrideMetadata(newMetadata);
  await pdf.removePasswordsAndEncryption();
  // Make PDF read-only
  await pdf.makePdfDocumentReadOnly("secret-key");
  // Configure permissions
  const permissions = {
    AllowAnnotations: false,
    AllowExtractContent: false,
    AllowFillForms: false,
    AllowPrint: true,
  };
  await pdf.setPermission(permissions);
  // Change or set the document encryption password
  await pdf.saveAs("secured.pdf", {
    ownerPassword: "top-secret",
    userPassword: "my-password",
  });
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Import a PDF document or create a new PDF from Html
  const pdf = await PdfDocument.open("encrypted.pdf", "password");
  // Create an empty Map
  const newMetadata = new Map();
  // Add key-value pairs of metadata
  newMetadata.set("Author", "Satoshi Nakamoto");
  newMetadata.set("Keywords", "SEO, Friendly");
  await pdf.overrideMetadata(newMetadata);
  await pdf.removePasswordsAndEncryption();
  // Make PDF read-only
  await pdf.makePdfDocumentReadOnly("secret-key");
  // Configure permissions
  const permissions = {
    AllowAnnotations: false,
    AllowExtractContent: false,
    AllowFillForms: false,
    AllowPrint: true,
  };
  await pdf.setPermission(permissions);
  // Change or set the document encryption password
  await pdf.saveAs("secured.pdf", {
    ownerPassword: "top-secret",
    userPassword: "my-password",
  });
})();
JAVASCRIPT

Szyfrowanie i deszyfrowanie plików PDF: Szyfrowanie i deszyfrowanie to kluczowe elementy bezpieczeństwa dokumentów, a IronPDF radzi sobie z tym z łatwością. Oferuje różne poziomy szyfrowania, od prostego zabezpieczenia hasłem po zaawansowane standardy szyfrowania, zapewniając, że poufne informacje pozostają bezpieczne. Funkcja deszyfrowania jest równie solidna, zapewniając upoważnionym użytkownikom środki do uzyskania dostępu i modyfikacji zaszyfrowanych dokumentów.

Podpisy cyfrowe: W erze dokumentacji cyfrowej autentyczność i integralność są najważniejsze. Funkcjonalność podpisów cyfrowych IronPDF umożliwia użytkownikom podpisywanie PDF-ów cyfrowo, co nie tylko weryfikuje tożsamość pochodzenia dokumentu, ale również wskazuje, że dokument nie został zmieniony od momentu zastosowania podpisu, co zapewnia jego autentyczność.

import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Step 1. Import a PDF
  const pdf = await PdfDocument.open("sample.pdf");
  // Step 2. Sign the PDF with digital certificate
  await pdf.signDigitalSignature({
    certificatePath: "IronSoftware.pfx",
    certificatePassword: "123456",
    signingReason: "To show how to sign a PDF",
    signingLocation: "Chicago, USA",
    signatureImage: {
      SignatureImagePath: "logo.png",
    },
  });
  // Step 3. The PDF is not signed until saved to file.
  await pdf.saveAs("signed.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Step 1. Import a PDF
  const pdf = await PdfDocument.open("sample.pdf");
  // Step 2. Sign the PDF with digital certificate
  await pdf.signDigitalSignature({
    certificatePath: "IronSoftware.pfx",
    certificatePassword: "123456",
    signingReason: "To show how to sign a PDF",
    signingLocation: "Chicago, USA",
    signatureImage: {
      SignatureImagePath: "logo.png",
    },
  });
  // Step 3. The PDF is not signed until saved to file.
  await pdf.saveAs("signed.pdf");
})();
JAVASCRIPT

Kompresja plików PDF: IronPDF rozumie potrzebę wydajnego przechowywania i szybkiego udostępniania dokumentów. Zawiera funkcję kompresji PDF, która znacznie zmniejsza rozmiar pliku, co jest kluczowe dla optymalizacji przestrzeni magazynowej i przyspieszenia transmisji dokumentu bez utraty jakości i integralności zawartości wewnątrz PDF-ów.

import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Load the existing PDF document
  const pdf = await PdfDocument.fromFile("my-content.pdf");
  // Compress images with quality parameter (1-100)
  await pdf.compressSize(60);
  // Save the compressed PDF
  await pdf.saveAs("document_compressed.pdf");
  // Compress images and scale down based on visible size in the PDF document
  await pdf.compressSize(90, true);
  // Save the scaled and compressed PDF
  await pdf.saveAs("document_scaled_compressed.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Load the existing PDF document
  const pdf = await PdfDocument.fromFile("my-content.pdf");
  // Compress images with quality parameter (1-100)
  await pdf.compressSize(60);
  // Save the compressed PDF
  await pdf.saveAs("document_compressed.pdf");
  // Compress images and scale down based on visible size in the PDF document
  await pdf.compressSize(90, true);
  // Save the scaled and compressed PDF
  await pdf.saveAs("document_scaled_compressed.pdf");
})();
JAVASCRIPT

Łączenie dwóch lub więcej plików PDF: IronPDF zapewnia prostą możliwość połączenia wielu dokumentów PDF w jeden plik. Funkcja ta jest niezwykle użyteczna przy łączeniu różnych dokumentów takich jak raporty, umowy czy serie formularzy, ułatwiając lepsze zarządzanie i dystrybucję dokumentów.

Usuwanie konkretnych stron z pliku PDF: Elastyczność w edycji jest kluczowa dla każdego narzędzia do obsługi PDF, a IronPDF oferuje możliwość usunięcia konkretnych stron z dokumentu PDF. Jest to szczególnie przydatne podczas dopasowywania zawartości dla różnych odbiorców lub omijania niepotrzebnych stron, aby stworzyć bardziej zwięzły dokument.

Zaawansowane funkcje i rozbudowa PDFKit

Dostosowywalny silnik układu: PDFKit funkcjonuje jako dostosowywalny silnik układu, dając deweloperom kontrolę nad każdym aspektem układu PDF, od umiejscowienia tekstu po złożone elementy graficzne.

const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument({ margin: 50 });
// Custom layouts
doc.text('Customized Layout Text', {
  align: 'center',
  valign: 'center',
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));
const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument({ margin: 50 });
// Custom layouts
doc.text('Customized Layout Text', {
  align: 'center',
  valign: 'center',
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));
JAVASCRIPT

W tym przykładzie, PDFDocument jest używany do stworzenia niestandardowego układu z wycentrowanym tekstem.

Zaawansowane funkcje grafiki i tekstu: PDFKit oferuje zaawansowane funkcje grafiki i tekstu, umożliwiając skomplikowane projektowanie i stylizację w plikach PDF. Pozwala na rysowanie kształtów oraz dodawanie obrazów i SVG-ów. Jeśli chodzi o tekst, PDFKit oferuje pełny zakres opcji układu, od podstawowych pól tekstowych po zaawansowane kontrole typografii, zapewniając, że układ każdej strony jest dokładnie taki, jak zamierzono.

const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument();
// Advanced graphics
doc.moveTo(100, 150)
   .lineTo(100, 250)
   .lineTo(200, 250)
   .fill("#FF3300");
// Advanced text
doc.fontSize(15)
   .font('Times-Roman')
   .text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument();
// Advanced graphics
doc.moveTo(100, 150)
   .lineTo(100, 250)
   .lineTo(200, 250)
   .fill("#FF3300");
// Advanced text
doc.fontSize(15)
   .font('Times-Roman')
   .text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
JAVASCRIPT

Porównanie między PDFKit npm a IronPDF For Node.js: Rysunek 7

Obsługa strumieni i buforów: PDFKit wyróżnia się w obsłudze strumieni i buforów, umożliwiając efektywne zarządzanie dużymi plikami PDF i ich danymi.

const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');

let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
  buffers.push(chunk);
  done();
};

doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
  let pdfData = Buffer.concat(buffers);
  fs.writeFileSync('streamed.pdf', pdfData);
});
const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');

let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
  buffers.push(chunk);
  done();
};

doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
  let pdfData = Buffer.concat(buffers);
  fs.writeFileSync('streamed.pdf', pdfData);
});
JAVASCRIPT

Dostosowywalne nagłówki i stopki: Tworzenie profesjonalnie wyglądającego PDF-a wymaga dbałości o detale. PDFKit oferuje funkcję dostosowywalnych nagłówków i stopek, umożliwiając precyzyjne umieszczanie tekstu i grafiki na górze i dole stron. Jest to szczególnie przydatne do dodawania spójnego charakteru, tytułów dokumentów i numeracji stron w wielostronicowym dokumencie.

Interaktywne formularze: PDFKit rozbudowuje swoje możliwości do interaktywnych formularzy w plikach PDF, umożliwiając tworzenie pól tekstowych, pól wyboru i przycisków radiowych. Funkcja ta jest nieoceniona dla użytkowników, którzy chcą zbierać informacje lub dostarczać interaktywną zawartość, poprawiając doświadczenia użytkownika i funkcjonalność pliku PDF.

Dokumentacja i wsparcie

Dokumentacja i wsparcie IronPDF Node.js

Dokumentacja IronPDF dostarcza kompletny przewodnik po używaniu biblioteki, z detalicznymi przykładami kluczowych funkcji, takich jak renderowanie URL jako PDF i tworzenie PDF z ciągu HTML. Oferuje możliwości personalizacji drukowania PDF, takie jak ustawienie rozmiaru papieru i DPI oraz wyglądu dokumentów, takich jak nagłówki i stopki z polami do korespondencji seryjnej. Dokumentacja obejmuje również bardziej zaawansowane aspekty, takie jak używanie niestandardowych klientów Web, tworzenie edytowalnych formularzy PDF i praca z JavaScript wewnątrz PDF-ów. Możesz przeglądać dokumentację, aby uzyskać pełne informacje o API i więcej przykładów.

Dla ustawienia nagłówków i stopek, zarówno opcje HTML, jak i tekstowe są dobrze udokumentowane, umożliwiając łączenie metadanych przy użyciu ciągów zastępczych. Szczegóły licencjonowania są dostarczane, prowadząc użytkowników po usunięciu znaków wodnych i uzyskaniu licencji. Dokumentacja zawiera nawet informacje na temat ustawień numeracji pierwszej strony dla nagłówków i stopek PDF oraz szczegóły dotyczące czasu oczekiwania po renderowaniu HTML przed drukowaniem, uwzględniając renderowanie JavaScript, AJAX czy animacje.

Opcje wsparcia

IronPDF posiada kolekcję przewodników po rozwiązywaniu problemów, które odpowiadają na typowe problemy i dostarczają krok po kroku rozwiązania. To może być pierwsze miejsce dla użytkowników próbujących rozwiązać problem. Dla bardziej skomplikowanych problemów lub tych, których nie można rozwiązać przez przewodniki, IronPDF oferuje wsparcie techniczne. Użytkownicy mogą złożyć wniosek o wsparcie inżynieryjne, który może obejmować dostarczenie szczegółowych informacji o problemie, takich jak szczegóły platformy czy środowiska uruchomieniowego, aby pomóc zespołowi wsparcia odtworzyć i rozwiązać problem. Możesz również skorzystać z opcji czatu na żywo.

Jakość i dostępność dokumentacji PDFKit

Dokumentacja npm PDFKit opisuje bibliotekę jako narzędzie do łatwego tworzenia złożonych, wielostronicowych, gotowych do druku dokumentów. Podkreśla możliwość łączenia API i zawiera zarówno funkcje niskiego poziomu, jak i abstrakcje dla funkcji wyższego poziomu, zaprojektowane tak, aby generowanie złożonych dokumentów mogło być równie proste jak kilka wywołań funkcji.

Sekcja dotycząca funkcji dokumentacji jest kompleksowa, obejmując grafikę wektorową, tekst, osadzanie czcionek, osadzanie obrazów, adnotacje, tworzenie formularzy, kontury i bezpieczeństwo PDF, co wszystko demonstruje zdolność biblioteki do tworzenia dostępnych i bezpiecznych dokumentów.

Opcje wsparcia

PDFKit, będąc biblioteką open-source, czerpie korzyści z wsparcia społeczności. Problemy i prośby o funkcje mogą być obsługiwane za pomocą repozytorium GitHub, gdzie użytkownicy mogą przyczynić się do kodu, zgłaszać problemy i tworzyć pull requesty. Społeczność wokół PDFKit może także dostarczać nieoficjalne kanały wsparcia, takie jak Stack Overflow, gdzie deweloperzy często dzielą się swoją wiedzą i rozwiązaniami.

Modele licencjonowania

Licencja IronPDF

Porównanie między PDFKit npm a IronPDF For Node.js: Rysunek 8

IronPDF działa na modelu licencjonowania komercyjnego, co oznacza, że deweloperzy lub firmy muszą zakupić licencję, aby używać biblioteki w swoich projektach bez ograniczeń.

Lite: Kosztująca $999, ta jednorazowa opłata zapewnia podstawowy pakiet odpowiedni dla mniejszych projektów.

Professional: W cenie $1,499, ta wersja jest przeznaczona do użytku profesjonalnego, oferując więcej funkcji i możliwości.

Unlimited: Wersja Unlimited kosztuje $2,999 i jest idealna do dużych wdrożeń, zapewniając pełny dostęp do wszystkich funkcji bez ograniczeń.

IronPDF oferuje również bezpłatną wersję próbną, umożliwiającą deweloperom ocenę biblioteki przed dokonaniem zakupu. Nie ma dostępnej bezpłatnej lub freemium wersji, a premium konsultacje lub usługi integracji nie są oferowane.

Licencja PDFKit

PDFKit jest biblioteką open-source, dostępną na licencji MIT. Ta liberalna licencja pozwala na bezpłatne użycie, modyfikację i dystrybucję oprogramowania. Jako projekt open-source, PDFKit nie posiada struktury cenowej. Można go swobodnie wprowadzać do każdego projektu, a użytkownicy mogą przyczynić się do jego rozwoju poprzez GitHub. Projekt akceptuje dotacje, które nie są obowiązkowe, ale wspierają bieżący rozwój i utrzymanie biblioteki.

Wnioski

Podsumowując, IronPDF for Node.js i PDFKit oba służą jako potężne narzędzia do generowania i manipulacji PDF w ich odpowiednich środowiskach, jednak IronPDF for Node.js ma przewagę dzięki swojemu rozległemu zestawowi funkcji dostosowanemu do platformy Node.js.

Możliwości IronPDF w konwertowaniu HTML na PDF-y, zaawansowane edytowanie i wszechstronna obsługa JavaScript i innych bogatych mediów czynią go wszechstronnym rozwiązaniem dla szerokiego zakresu zadań przetwarzania plików PDF. Dodatkowo, silne skupienie IronPDF na bezpieczeństwie i jego szczegółowa dokumentacja zapewniają poziom pewności i dostępności, który jest kluczowy dla deweloperów.

PDFKit, będąc open-source, oferuje elastyczność i łatwość użycia, które mogą być wysoce atrakcyjne dla deweloperów preferujących wsparcie społecznościowe i możliwości modyfikacji kodu źródłowego. Jego możliwości są imponujące, szczególnie biorąc pod uwagę zalety kosztowe rozwiązania open-source.

IronPDF oferuje darmową wersję próbną, która pozwala deweloperom ocenić cały zakres funkcji przed dokonaniem finansowego zobowiązania. Ponadto, Iron Suite Iron Software, która obejmuje IronPDF wśród innych wartościowych narzędzi dla deweloperów, takich jak IronXL, IronBarcode, IronQR i IronOCR, prezentuje opłacalną ofertę pakietową, dostarczającą kompleksowy zestaw funkcjonalności w cenie dwóch produktów.

Ostatecznie wybór pomiędzy IronPDF dla Node.js a PDFKit będzie zależał od indywidualnych wymagań projektu i preferencji deweloperów bądź zespołu deweloperskiego. Dla tych, którzy szukają bogatego zestawu funkcji i obszernej dokumentacji w ekosystemie Node.js, IronPDF dla Node.js wyróżnia się jako odpowiedni wybór.

Zwróć uwagęPDFKit jest zarejestrowanym znakiem towarowym jego właściciela. Ta strona nie jest powiązana, popierana ani sponsorowana przez PDFKit. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.

Często Zadawane Pytania

Jak mogę przekonwertować HTML na PDF w Node.js?

Możesz użyć IronPDF do konwersji HTML na PDF w Node.js. IronPDF oferuje metody takie jak RenderHtmlAsPdf do konwersji ciągów znaków lub plików HTML na wysokiej jakości pliki PDF przy zachowaniu układu i stylizacji.

Jakie są zalety korzystania z IronPDF for Node.js do tworzenia plików PDF?

IronPDF oferuje zaawansowane funkcje tworzenia plików PDF w Node.js, w tym konwersję HTML do PDF, wykonywanie kodu JavaScript, obsługę niestandardowych czcionek, podpisy cyfrowe, kompresję plików PDF oraz funkcje bezpieczeństwa.

Czy PDFKit nadaje się do konwersji HTML na PDF?

PDFKit nie jest przeznaczony specjalnie do konwersji HTML na PDF. Lepiej nadaje się do generowania plików PDF bezpośrednio za pomocą JavaScript, co czyni go idealnym rozwiązaniem do tworzenia złożonych dokumentów z zaawansowaną grafiką wektorową i formatowaniem tekstu.

Jakie są główne różnice między IronPDF a PDFKit?

IronPDF wyróżnia się w konwersji HTML do PDF, oferując solidne funkcje bezpieczeństwa i wsparcie. PDFKit jest znany ze swojej zdolności do generowania plików PDF za pomocą JavaScript, skupiając się na grafice wektorowej i formatowaniu tekstu. Wybór zależy od tego, czy potrzebujesz konwersji HTML, czy bezpośredniego generowania plików PDF.

Czy IronPDF można zintegrować z Node.js za pośrednictwem npm?

Tak, IronPDF można płynnie zintegrować z projektami Node.js za pomocą npm. Zapewnia on kompleksowy zestaw SDK do przetwarzania plików PDF, umożliwiając programistom wykorzystanie jego zaawansowanych funkcji do tworzenia i edycji.

W jaki sposób IronPDF obsługuje funkcje zabezpieczeń plików PDF?

IronPDF obsługuje zaawansowane funkcje bezpieczeństwa, takie jak podpisy cyfrowe, ochrona hasłem i zarządzanie uprawnieniami, dzięki czemu nadaje się do zastosowań wymagających bezpiecznych dokumentów PDF.

Jakie opcje wsparcia są dostępne dla użytkowników IronPDF?

IronPDF oferuje obszerną dokumentację, przewodniki dotyczące rozwiązywania problemów oraz opcje wsparcia technicznego, zapewniając programistom dostęp do zasobów i pomocy w razie potrzeby.

Jakie modele licencyjne oferują IronPDF i PDFKit?

IronPDF działa w ramach komercyjnego modelu licencyjnego z różnymi poziomami, podczas gdy PDFKit jest oprogramowaniem open source na licencji MIT, co pozwala na bezpłatne użytkowanie i modyfikacje.

Darrius Serrant
Inżynier oprogramowania Full Stack (WebOps)

Darrius Serrant posiada tytuł licencjata z informatyki z Uniwersytetu Miami i pracuje jako Full Stack WebOps Marketing Engineer w Iron Software. Już od młodych lat zainteresował się kodowaniem, postrzegając informatykę jako zarówno tajemniczą, jak i dostępną, co czyni ją doskonałym medium dla kreatywności ...

Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie