フッターコンテンツにスキップ
製品比較

PDFKit npm と IronPDF for Node.js の比較

This tutorial will dive into IronPDF's JavaScript SDK and PDFKit - two big names in JavaScript PDF libraries. どちらもNode.jsプロジェクトにとってしっかりとした選択肢ですが、それぞれに強みと弱みがあります。

この記事の目的は、IronPDFとPDFKitのツールが開発者のNode.jsワークフローにどのように適合するかを読者にリアルな感覚を与えることです。 基本的なPDFを作成するにしても、複雑なレイアウトに取り組むにしても、IronPDFとPDFKitが何ができて何ができないかを理解することは非常に重要です。

PDFKit

PDFKitは、Node.jsおよびブラウザ環境向けの先進的なJavaScript PDF生成ライブラリです。 その包括的なツールセットは、多ページの印刷可能なドキュメントを容易に作成するのに理想的です。 このライブラリは使いやすさを重視して設計されており、複雑なドキュメント生成のプロセスをスリム化します。

PDFKitは、強力なベクターグラフィックス機能、テキストやフォントのスタイルオプション、画像の埋め込み機能、インタラクティブおよびセキュアPDFドキュメントのサポートで際立っています。 その使いやすさとサーバー側とブラウザ環境の両方での柔軟性を兼ね備え、さまざまなアプリケーションでカスタムPDFを生成する必要のある開発者にとって価値あるツールです。

PDFKitの主な機能

  • 柔軟なPDF生成

PDFKitはHTMLからPDFへの変換に依存せず、 JavaScriptコードを通じて直接PDFを生成します。 このアプローチにより、開発者は生成するPDFファイルのレイアウト、スタイル、コンテンツを正確にコントロールできるため、複雑なドキュメントを生成するのが容易です。

  • グラフィックスとテキストフォーマット

ライブラリは、線や曲線、長方形、円などを含む高度なグラフィック機能をサポートします。 カスタムフォント、サイズ、色などのテキストフォーマット機能により、視覚的に魅力的なドキュメントの作成が可能になります。

  • 画像埋め込みとベクターグラフィックス

PDFKitは様々な形式の画像埋め込みを可能にし、ベクターグラフィックスをサポートします。これにより、高品質な印刷ドキュメントに最適です。 画像埋め込みはJPEGおよびPNGファイルをサポートします。

  • 高度なドキュメント機能

開発者はPDFに注釈、ブックマーク、ハイパーリンクを追加できます。 ライブラリはヘッダーとフッターの作成や、ページ番号やカスタムJavaScriptの組み込みもサポートしています。

  • カスタマイズ可能および再利用可能なコンポーネント

PDFKit APIは、請求書やレポートのように繰り返し構造を持つドキュメントの開発プロセスを効率化する再利用可能なコンポーネントの作成を支援します。

  • ベクターグラフィックス

PDFKitは、パス操作、SVGパス解析、変換、グラデーションを含むHTML5キャンバスのようなAPIを提供します。 これはPDFでスケーラブルで高品質なグラフィックスを作成するのに理想的です。 ライブラリは行の折り返し、さまざまなテキストの配置、および箇条書きをサポートします。

  • 埋め込みフォント

PDFKitはTrueType、OpenType、WOFFなどの広範なフォント形式をサポートしており、PDF内で一貫したタイポグラフィを可能にします。 フォントサブセッティングも可能で、ドキュメントサイズの管理を容易にします。

IronPDF Node.js

IronPDFを使用すると、HTML文字列、ファイル、さらには完全なウェブページをPDFに簡単に変換でき、CSSスタイリングや画像を含む元のコンテンツ通りの見た目を実現できます。 これは、請求書、契約書、レポートのようなブランド化とレイアウトをウェブデザインで指定されたプロフェッショナルグレードのドキュメントを提供するために重要です。

IronPDF for Node.jsの主な機能

HTMLからPDFへの変換

IronPDFはHTMLコンテンツを高忠実度のPDF文書へ変換するのに優れています。 その機能には以下が含まれます:

  • HTML文字列からPDF: この機能では、動的なHTML文字列を直接PDFに変換できます。
  • HTMLファイルからPDF: これにより、静的なHTMLファイルをシームレスにPDF形式に変換し、レイアウトとスタイリングを維持します。
  • URLからPDF: IronPDFはURLで指定される完全なウェブページをキャプチャし、PDFに変換できます。これはアーカイブやオフラインアクセスに最適です。

PDFのフォーマット

IronPDFはHTMLコンテンツから作成されたPDFをカスタマイズおよび強化するための包括的なフォーマットツールを提供します。以下のように:

  • HTML内のJavaScriptからPDFへ: 変換前に、IronPDFはHTML内でJavaScriptを実行し、動的データまたは対話的要素をPDFの静的フォーマットでレンダリング可能にします。
  • IronPDFでのバーコード埋め込み: IronPDFはPDF内でのバーコード埋め込みをサポートします。これは物流、小売り、在庫管理で使用されるドキュメントに必須です。
  • ページテンプレートの適用: ページテンプレートを適用することで文書のルックアンドフィールを標準化し、一貫性を確保します。これは複数のPDFで一貫性を保つために事前に定義されたレイアウトを使用できます。
  • カスタムフォントのHTMLからPDFへ: IronPDFは、HTMLコンテンツから直接カスタムフォントをPDFに埋め込むことを可能にし、すべてのドキュメントでブランド化とデザインの一貫性を保証します。

ページコンテンツの編集

IronPDFの編集機能は広範で、特定のニーズに合わせて既存のPDFを変更できる能力を提供します:

  • PDFドキュメントでのテキスト検索と置換: この機能は、PDF内のテキストを検索し、置換することを可能にし、更新や修正を簡単に行えます。
  • PDFへのHTMLコンテンツの追加: ユーザーは既存のPDFにさらに多くのHTMLコンテンツを挿入できます。 この機能は、追加のコンテンツがドキュメントのパフォーマンスや読み込み時間に影響を与えないよう最適化されています。
  • PDFへの新しいコンテンツのスタンプ: IronPDFは、既存のPDFページに新しいコンテンツをスタンプまたはオーバーレイできます。 これは、公式の透かし、機密スタンプ、または既存のドキュメントの情報更新に役立ちます。

PDFフォームの使用

IronPDFはPDFフォームの作成と操作をサポートし、PDF内で互動要素を可能にします:

PDFフォーム: これはデジタルで記入可能なフォームの作成を含み、ビジネスがデータ収集プロセスを自動化できるようにします。 IronPDFを使用すると、プログラムでフォームを作成し、フィールドを埋め、情報を取得することもでき、ワークフローが効率化し、手動データ入力が減少します。

クロスプラットフォーム互換性

IronPDFはさまざまなプラットフォームをサポートしており、さまざまな開発環境での柔軟性を提供します。 Node.jsバージョン12.0以上で互換性があり、Windows、Linux、Mac、およびDockerで使用できます。

ユーザーエクスペリエンスとアクセシビリティ

  • 簡単にインストール: IronPDFのセットアップは、シンプルなnpmまたはyarnコマンドにより簡単に行えます。 必要なライブラリの機能に IronPDF Engineが最初の実行時に自動的にダウンロードされます。
  • クイックスタートのためのサンプルコード: ライブラリは、HTMLからPDFへの変換のような様々な機能のためのサンプルコードスニペットを提供しており、開発者の実装プロセスを簡素化します。

Visual Studio CodeでJavaScriptプロジェクトを作成する

開発環境の設定

PDF生成の世界に入る前に、プロジェクト環境を設定する必要があります。 Visual Studio Code(VS Code)はこれに理想的で使いやすいプラットフォームを提供します。 VS Codeを起動し、新しいJavaScriptプロジェクトを作成します。 プロジェクト用の新しいフォルダを設定し、それをVS Codeで開くことでこれができます。 ここがコードを書いたりプロジェクトのファイルを管理したりする環境になります。

プロジェクトの初期化

フォルダをVS Codeで開いたら、次のステップは新しいJavaScriptプロジェクトを初期化することです。 VS Codeの統合ターミナルを開き(通常メニューのターミナル > 新しいターミナルの下にあります)npm initと入力します。 このコマンドは、プロジェクトの依存関係とメタデータを管理するために重要なpackage.jsonファイルの作成を案内します。

IronPDFライブラリをインストールする

プロジェクトにIronPDFを追加する

JavaScriptプロジェクトがセットアップされたら、IronPDFライブラリをインストールする時間です。 VS Codeのターミナルに以下のコマンドを実行します:

npm install ironpdf
npm install ironpdf
SHELL

このコマンドはIronPDFライブラリを取得してインストールし、プロジェクトの依存関係に追加します。

インストールの確認

インストール後、IronPDFがpackage.jsonファイルの依存関係セクションにリストされていることを確認します。 これにより、IronPDFがプロジェクトに正しく統合され、シームレスなPDF生成と操作が可能になります。

PDFKit npm & IronPDF For Node.jsの比較: 図1

PDFKitライブラリをインストールする

PDFKitの統合

次に、堅牢で多用途のPDFドキュメント生成ライブラリであるPDFKitの追加です。 プロジェクトにPDFKitを追加するには、VS Code内のターミナルに以下のコマンドを実行します:

npm install pdfkit
npm install pdfkit
SHELL

これによりPDFKitがインストールされ、プロジェクトの依存関係に追加されます。

正しいセットアップの確認

インストールが成功したら、PDFKitがpackage.jsonファイルの依存関係に表示されることを確認します。この確認はあなたのプロジェクトが複雑で詳細な、視覚的に魅力的なPDFファイルを作成するのに必要なツールで装備されていることを確実にします。

PDFKit npm & IronPDF For Node.jsの比較: 図2

IronPDFとPDFKitのHTMLからPDFへの機能の比較

IronPDFのHTMLからPDFへの変換

Node.js向けのIronPDFは、HTMLからPDFへの変換で優れた性能を提供し、開発者に効率的なソリューションを提供します。 このライブラリは、CSSスタイルのレンダリング、JavaScriptの実行、カスタムヘッダーやフッターの組み込みといった複雑なタスクを扱うのに適しています。 これらの機能は、HTMLソースからプロフェッショナルグレードのPDFを作成する能力を大幅に向上させます。 Node.jsのIronPDFは、この変換プロセスについて3つの便利な方法を提供します:

  1. HTML文字列からPDF
  2. HTMLファイルからPDF
  3. URLからPDF: このユニークな機能は、ウェブページをURLsを使ってPDFに変換することを可能にします。 これは、オンラインの最新コンテンツをPDF形式でキャプチャするための効率的な方法です。

HTML文字列をPDFに変換

この方法により、開発者はHTMLコード文字列を直接PDFファイルに変換できます。 この機能は、動的コンテンツ生成に関与するシナリオにおいて非常に有用です。 カスタマイズされたレポートを作成するにしても、即時発行の請求書を生成するにしても、データドリブンのコンテンツを洗練されたプロフェッショナルフォーマットで提示する必要がある場合でも、この機能はプロセスを簡素化します。

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 NodeJS!</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 NodeJS!</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

ここにコードの出力があります:

PDFKit npm & IronPDF For Node.jsの比較: 図3

HTMLファイルをPDFに変換

この機能では、開発者が既存のHTMLファイルをPDFに変換することができます。 この機能は特に静的HTMLドキュメントを扱う場合に有益です。 あらかじめ設計されたウェブページ、標準化されたフォーム、または情報パンフレットで作業している場合でも、この機能はそれらをPDFに変換するための直線的な道を提供します。

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

ここに生成された請求書PDFがあります:

PDFKit npm & IronPDF For Node.jsの比較: 図4

URLをPDFに変換

この機能は、ウェブページをそのURLを使用してPDFに変換します。 この機能は特にオンラインの最新コンテンツをキャプチャするのに役立ちます。 ウェブページのアーカイブ、オンライン記事のオフラインコピーの作成、またはウェブベースのデータからのレポート化など、どのような用途でも、この機能はそれを簡単に処理します。

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

ここにURLから生成されたPDFファイルがあります:

PDFKit npm & IronPDF For Node.jsの比較: 図5

PDFKitのHTMLからPDFへの変換

IronPDFのようにHTMLからPDFへの変換を主に設計されていないものの、PDFKitもJavaScriptコードからプログラムでPDFドキュメントを作成する方法を提供します。 以下にシンプルな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

このコードスニペットはテキストヘッドラインを持つPDFファイルを作成します。PDFKitは直接HTMLをPDFに変換しないものの、テキストの配置とフォーマットに対する詳細な制御を可能にします。

ここにPDFKitで生成された出力ファイルがあります:

PDFKit npm & IronPDF For Node.jsの比較: 図6

柔軟性と高度な機能

IronPDF Node.js

パスワード、セキュリティ、メタデータ: IronPDFは、その機能を通じてPDFファイルのセキュリティを強化する力を開発者に与えます。 パスワードを設定し、閲覧するためにユーザーがパスワードを入力する必要があるという追加の保護層を追加することができます。 さらに、IronPDFはPDF内にメタデータを埋め込む能力を提供し、これには著者情報、タイトル、およびキーワードが含まれ、ドキュメントの管理と組織化を強化します。

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

PDFの暗号化と復号化: 暗号化と復号化は文書セキュリティの重要な要素であり、IronPDFはこれを簡単に処理します。 シンプルなパスワード保護から高度な暗号化標準まで、さまざまなレベルの暗号化を提供し、機密情報の安全性を確保します。 復号機能も同様に強力で、認証されたユーザーが暗号化された文書にアクセスし、編集する手段を提供します。

デジタル署名: デジタル文書時代において、信憑性と完全性が最も重要です。 IronPDFのデジタル署名機能は、ユーザーが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");
})();
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

PDF圧縮: IronPDFは、効率的なストレージと文書の迅速な共有の必要性を認識しています。 ファイルサイズを大幅に削減するPDF圧縮機能を備えており、これにより、ストレージの最適化とドキュメントの送信を迅速にし、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");
})();
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

2つ以上のPDFをマージ: IronPDFは、複数のPDF文書を1つのファイルにマージするための簡単なソリューションを提供します。 この機能は、レポートや契約書、または一連のフォームといったさまざまなドキュメントを組み合わせ、文書管理と配布を改善するのに非常に役立ちます。

特定のPDFページの削除: 任意のPDFツールにとって編集の柔軟性は重要であり、IronPDFはPDF文書から特定のページを削除する能力を提供します。 これは、異なる聴衆向けのコンテンツのカスタマイズや、不要なページを省いてより簡潔なドキュメントを作成するのに役立ちます。

PDFKit 高度な機能と拡張性

カスタマイズ可能なレイアウトエンジン: PDFKitには、テキストの配置から複雑なグラフィカル要素まで、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'));
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

この例では、PDFDocumentを使用して中央に配置されたテキストでカスタマイズされたレイアウトが作成されています。

高度なグラフィックおよびテキスト機能: PDFKitは高度なグラフィックおよびテキスト機能を提供し、PDFファイル内での複雑なデザインやスタイリングを可能にします。 形状の描画や画像およびSVGの追加を可能にします。 テキストに関しては、PDFKitは基本的なテキストボックスから高度なタイポグラフィコントロールまで、レイアウトオプションの完全なセットを提供し、各ページのレイアウトが正確にイメージされるようにします。

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

PDFKit npm & IronPDF For Node.jsの比較: 図7

ストリームとバッファ管理: PDFKitは大きなPDFファイルやそのデータの効率的な管理を可能にするストリームとバッファ管理で優れています。

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

カスタマイズ可能なヘッダーとフッター: プロフェッショナルな外観のPDFの作成は詳細への注意が必要です。 PDFKitのカスタマイズ可能なヘッダーとフッターの機能は、ページの上部と下部にテキストとグラフィックを正確に配置することを可能にします。 これは、複数ページのドキュメントで一貫したブランド化、ドキュメントタイトル、ページ番号付けの追加に特に役立ちます。

インタラクティブなフォーム: PDFKitは、テキストフィールド、チェックボックス、およびラジオボタンを作成することで、PDFファイル内のインタラクティブなフォームにその能力を拡張します。 この機能は、情報を収集したり、インタラクティブなコンテンツを提供したりしようとするユーザーにとって非常に貴重であり、PDFのユーザー体験と機能を向上させます。

ドキュメンテーションとサポート

IronPDF Node.jsのドキュメントとサポート

IronPDFのドキュメントは、ライブラリの使用に関する包括的なガイドを提供し、URLをPDFとしてレンダリングすることやHTML文字列からPDFを作成するなどの主要な機能の詳細な例を提供します。 紙サイズやDPIの設定のようなPDF印刷のためのカスタマイズオプションを提供し、HTMLのレンダリング中にJavaScriptを使用してカスタムWebClientsを作成したり、編集可能なPDFフォームを作成したりする詳細な情報など、ドキュメントの外観のためのカスタマイズオプションもカバーしています。 完全なAPIドキュメントやさらに多くの例をブラウズすることができます。 ヘッダーとフッターの設定については、HTMLとテキストオプションの両方が十分に文書化されており、メタデータをプレースホルダ文字列を使用してマージすることができます。

ライセンス情報は、透かしを削除しライセンスを取得する方法について利用者を指導します。 ドキュメントは、PDFヘッダーとフッターの最初のページ番号を設定する情報やHTMLレンダリング後に印刷までどのくらいの時間を待つべきか、JavaScript、AJAX、またはアニメーションのレンダリングを考慮してどのくらいの時間を待つべきかに関する情報を提供しています。 #### サポートオプション

IronPDFには共通の問題に対処し、段階的な解決策を提供するトラブルシューティングガイド集があります。

これは問題を解決しようとする利用者の最初の窓口になることができます。 より複雑な問題や、ガイドでは解決できない問題については、IronPDFは技術サポートを提供しています。 利用者はエンジニアリングサポートのリクエストを提出することができ、これには問題についての詳しい情報、たとえばプラットフォームやランタイムの特定情報を提供してサポートチームが問題を再現して対処するのに役立ちます。 ライブチャットオプションも利用できます。 ### PDFKitのドキュメントの品質と入手可能性

PDFKitのnpmドキュメントは、ライブラリを簡単に複雑で多ページの印刷可能なドキュメントを作成するツールとして説明しています。

そのAPIのチェーン性を強調し、低レベルの関数と高レベルの機能を抽象化したものを含みます。 複雑なドキュメントを作成するのが数回の関数呼び出しで簡単にできるように設計されています。

機能のセクションには、ベクターグラフィックやテキスト、フォントの埋め込み、画像の埋め込み、注釈、フォーム作成、アウトライン、PDFセキュリティが含まれており、利用者がアクセスしやすくセキュアなドキュメントを作成するためのライブラリの可能性を示しています。

IronPDFには共通の問題に対処し、段階的な解決策を提供するトラブルシューティングガイド集があります。

PDFKitはオープンソースのライブラリであるため、コミュニティのサポートが得られます。 コードに貢献したり、問題を提出したり、プルリクエストを作成したりできるGitHubリポジトリを通じて、問題や機能リクエストが処理されることができます。 PDFKitの周りのコミュニティはまた、開発者が知識や解決策を共有する非公式のサポートチャンネルとしてStack Overflowのような存在も提供する可能性があります。

ライセンスモデル

IronPDFのライセンス

PDFKit npm & IronPDF For Node.jsの比較: 図8

IronPDFは商用ライセンスモデルで動作しており、開発者または企業がライブラリを制限なくプロジェクトで使用するためにはライセンスを購入する必要があります。

Lite: $799で、これは小規模プロジェクトに合う基本的なパッケージを提供する一度きりの料金です。

Professional: $1,199で、これはプロ用として、より多くの機能と能力を提供します。

Unlimited: 制限なしのティアは$2,399で、これは大規模展開に理想的であり、すべての機能に制限なくアクセスできます。

IronPDFは無料試用版も提供しており、開発者が購入前にライブラリを評価することができます。 無料またはフリーミアムバージョンは提供されておらず、プレミアムコンサルティングまたは統合サービスは提供されていません。

PDFKitライセンス

PDFKitはMITライセンスの下で利用可能なオープンソースライブラリです。 この寛容なライセンスは、ソフトウェアの自由な使用、修正、および配布を許可します。 オープンソースプロジェクトであるため、PDFKitには価格設定がありません。 どのプロジェクトにも自由に組み込むことができ、GitHubを通じてその開発に貢献することができます。 プロジェクトが寄付を受け入れることができるため、これは必須ではありませんが、ライブラリの開発と維持を支援します。

結論

結論として、Node.js用のIronPDFとPDFKitの両方がそれぞれの環境でのPDF生成と操作に強力なツールとして機能しますが、Node.jsプラットフォーム向けの包括的な機能セットでIronPDFが優れています。

IronPDFはHTMLからPDFへの変換、高度な編集、JavaScriptやその他のリッチメディアを全面的にサポートする性能を持ち、幅広いPDF処理タスクに対して多用途なソリューションとなっています。 さらに、IronPDFのセキュリティへの強い焦点と詳細なドキュメントは、開発者にとって必要不可欠な保証とアクセスしやすさを提供します。

オープンソースのPDFKitは、柔軟性と使いやすさを提供し、強力なコミュニティサポートとソースコードの修正能力を好む開発者に非常に魅力的です。 その機能は素晴らしいものであり、特にオープンソースソリューションの費用対効果を考えれば特筆に値します。

IronPDFはその完全な機能の範囲を経済的に見積もっている開発者を対象にした無料試用版を提供しています。 Furthermore, Iron Software's Iron Suite, which includes IronPDF among other valuable developer tools like IronXL, IronBarcode, IronQR, and IronOCR, presents a cost-effective package deal, delivering a comprehensive set of functionalities for the price of two products.

最終的に、Node.js用のIronPDFとPDFKitの選択は、プロジェクトの特定の要求と開発者または開発チームの好みにかかっています。 Node.jsエコシステム内で豊富な機能セットと詳細なドキュメントを求める人々には、Node.js用のIronPDFが適した選択肢として立ちます。

ご注意PDFKitはその所有者の登録商標です。 このサイトはPDFKitと提携していない、承認を受けていない、スポンサーされていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

Node.jsでHTMLをPDFに変換するにはどうすればよいですか?

IronPDFを使用して、Node.jsでHTMLをPDFに変換できます。IronPDFはRenderHtmlAsPdfといったメソッドを提供し、HTML文字列やファイルをレイアウトとスタイリングを保持したまま高品質のPDFに変換できます。

Node.jsでのPDF作成にIronPDFを使用する利点は何ですか?

IronPDFは、Node.jsでのPDF作成において、HTMLからPDFへの変換、JavaScriptの実行、カスタムフォントのサポート、デジタル署名、PDF圧縮およびセキュリティ機能を含む先進的な機能を提供します。

PDFKitはHTMLからPDFへの変換に適していますか?

PDFKitはHTMLからPDFへの変換用に特に設計されていません。JavaScriptを通じたPDF生成に適しており、複雑なドキュメント作成におけるベクトルグラフィックスやテキストフォーマットに最適です。

IronPDFとPDFKitの主な違いは何ですか?

IronPDFはHTMLからPDFへの変換に優れており、強力なセキュリティ機能とサポートを提供します。PDFKitはJavaScriptを通じたPDF生成能力が知られており、特にベクトルグラフィックやテキストフォーマットに焦点を当てています。HTML変換が必要か、直接PDF生成が必要かで選択が変わります。

IronPDFをnpm経由でNode.jsに統合できますか?

はい、IronPDFはnpmを使用してNode.jsプロジェクトにシームレスに統合できます。これはPDF処理のための包括的なSDKを提供し、開発者がその強力な機能を使って作成および編集を行えるようにします。

IronPDFはPDFセキュリティ機能をどのように処理しますか?

IronPDFはデジタル署名、パスワード保護、権限管理といった先進的なセキュリティ機能をサポートし、安全なPDFドキュメントを必要とするアプリケーションにも適しています。

IronPDF ユーザーのためのサポートオプションは何ですか?

IronPDFは、包括的なドキュメント、トラブルシューティングガイド、および技術サポートオプションを提供し、必要なときに開発者がリソースや支援にアクセスできるようにします。

IronPDFとPDFKitはどのようなライセンスモデルを提供していますか?

IronPDFはさまざまな階層の商用ライセンスモデルを運用しており、一方PDFKitはMITライセンスの下でオープンソースで、無料で使用および修正が可能です。

Darrius Serrant
フルスタックソフトウェアエンジニア(WebOps)

Darrius Serrantは、マイアミ大学でコンピュータサイエンスの学士号を取得し、Iron SoftwareでフルスタックWebOpsマーケティングエンジニアとして働いています。若い頃からコーディングに惹かれ、コンピューティングを神秘的かつアクセス可能なものとし、創造性と問題解決のための完璧な媒体と考えていました。

Iron Softwareでは、新しいものを創造することと、複雑なコンセプトをより理解しやすくすることを楽しんでいます。Resident Developerの一人として、次世代に専門知識を共有するために、学生を教えることにも志願しました。

Darriusにとって、その仕事は価値があり、実際の影響があるため、満足感があります。