製品比較

PDFKit npmとIronPDF for Node.jsの比較

更新済み 1月 4, 2024
共有:

イントロダクション

このチュートリアルでは IronPDF 以下のコンテンツを日本語に翻訳してください: PDFキット JavaScript PDFライブラリの2つの大手ブランド。 どちらもNode.jsプロジェクトに対して堅実な選択ですが、それぞれに強みと弱みがあります。

この記事の目的は、読者にIronPDFおよびPDFKitツールが開発者のNode.jsワークフローにどのように適合するかについての実際の感覚を提供することです。 IronPDFやPDFKitが基本的なPDFの作成や複雑なレイアウトの処理にどのように対応するかを理解することは (およびできません) 非常に重要です。

PDFキット

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 for Node.js

IronPDF for Node.js (ノードジェエス)

IronPDFを使用すると、HTML文字列、ファイル、またはウェブページ全体をPDFに簡単に変換できます。変換されたPDFは元のコンテンツとまったく同じように、CSSスタイリングや画像も含めて表示されます。 これは、ウェブデザインによって指定されたブランディングとレイアウトを保持する必要がある請求書、契約書、報告書などのプロフェッショナルグレードのドキュメントを提供するために重要です。

Node.js 向け IronPDF の主要機能

HTMLをPDFに変換

IronPDFは、HTMLコンテンツを高忠実度のPDFドキュメントに変換するのに優れています。 その機能には次のものが含まれます:

  • HTML String to PDF: この機能により、動的なHTML文字列を直接PDFに変換することができます。
  • HTMLファイルからPDFへ: これにより、静的なHTMLファイルをシームレスにPDF形式に変換し、レイアウトとスタイリングを維持することができます。

  • URLをPDFへ:IronPDFは、ウェブページ全体をURLによってキャプチャし、PDFに変換できます。これは、アーカイブやオフラインアクセスに最適です。

PDFのフォーマット

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

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

ページ内容を編集

IronPDFの編集機能は多岐にわたり、既存のPDFを特定のニーズに合わせて修正することができます。

  • テキスト検索と置換この機能により、ユーザーはPDF内のテキストを検索および置換することができ、更新や修正を簡単に行うことができます。
  • HTMLコンテンツを効率的に追加ユーザーは既存のPDFにさらにHTMLコンテンツを挿入することができます。 この機能は、追加コンテンツがドキュメントのパフォーマンスや読み込み時間に影響を与えないように最適化されています。

  • 新しいコンテンツのスタンプ: IronPDFは、既存のPDFページに新しいコンテンツをスタンプまたはオーバーレイすることができます。 これにより、公式の透かし、機密のスタンプの追加、または既存のドキュメント上の情報の更新が可能になります。

PDFフォームを使用

IronPDFは、PDFフォームの作成および操作をサポートし、PDF内にインタラクティブな要素を追加することができます。

PDF Forms:これには、デジタルで入力可能なフォームの作成が含まれており、企業がデータ収集プロセスを自動化することを可能にします。 IronPDFを使用すると、プログラムによってフォームを作成し、フィールドに入力し、さらには情報を取得することができます。これにより、ワークフローが効率化され、手動でのデータ入力が削減されます。

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

IronPDFは様々なプラットフォームをサポートしており、異なる開発環境に対して汎用性を持っています。 それはNode.jsバージョン12.0以上と互換性があり、Windows、Linux、Mac、およびDockerで使用できます。

ユーザーエクスペリエンスおよびアクセシビリティ

  • 簡単なインストール:IronPDFのセットアップは、簡単なnpmまたはyarnコマンドで簡単に行えます。 IronPDFエンジンは、ライブラリの機能に必要であり、初回実行時に自動的にダウンロードされます。
  • クイックスタートのサンプルコード:このライブラリは、HTMLをPDFに変換するなど、さまざまな機能のサンプルコードスニペットを提供しており、開発者にとって実装プロセスを簡素化します。

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

開発環境の設定

PDF生成の世界に飛び込む前に、プロジェクト環境を設定する必要があります。 Visual Studio Code (ビジュアル・スタジオ・コード) (VSコード) 理想的で使いやすいプラットフォームを提供します。 まず、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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install ironpdf
VB   C#

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

インストールの確認

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

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

PDFKitライブラリのインストール

PDFKitを統合する

次に紹介するのは、PDFKit です。PDFKitは、強力で多用途なPDFドキュメント生成ライブラリです。 あなたのプロジェクトにPDFKitを追加するには、Vs Code内のターミナルで次のコマンドを実行してください:

npm install pdfkit
npm install pdfkit
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install pdfkit
VB   C#

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

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

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

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

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

IronPDF HTML から PDF への変換

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

  1. HTML文字列をPDFに変換

  2. HTMLファイルをPDFに変換

  3. URLからPDFへ: このユニークな機能により、URLを使用するだけでウェブページを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);
  }
})();
import
If True Then
	PdfDocument, PdfGenerator
End If
from "@ironsoftware/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
	try {
		const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const pdf = Await PdfDocument.fromHtml("<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF NodeJS!</h1>"); Await pdf.saveAs("HtmlStringToPDF.pdf");
	}
	catch ([error]) { console.error("An error occurred:", [error]); }
})()
VB   C#

ここでコードの出力を見ることができます:

Node.js用のPDFKit npmとIronPDFとの比較:図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);
  }
})();
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
	try {
		const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const pdf = Await PdfDocument.fromFile("invoice.html"); Await pdf.saveAs("invoice.pdf");
	}
	catch ([error]) { console.error("An error occurred:", [error]); }
})()
VB   C#

こちらは生成された請求書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);
  }
})();
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
	try {
		const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const url = "https://en.wikipedia.org/wiki/PDF"; const urlPDF = Await PdfDocument.fromUrl(url); Await urlPDF.saveAs("UrlToPdf.pdf");
	}
	catch ([error]) { console.error("An error occurred:", [error]); }
})()
VB   C#

こちらはURLから生成された出力PDFファイルです:

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

PDFKit HTMLからPDFへの変換

PDFKitは、IronPDFのようにHTMLからPDFへの変換を主目的としたものではありませんが、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();
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = New PDFDocument()
doc.pipe(fs.createWriteStream( 'output.pdf'));
doc.fontSize(25).text( 'PDFKit - Text @to PDF Example', 100, 100);
doc.end()
VB   C#

このコードスニペットは、テキストの見出しを含むPDFファイルを作成します。PDFKitは直接HTMLをPDFに変換することはできませんが、テキストの配置やフォーマットの詳細な制御が可能です。

こちらはPDFKitによって生成された出力ファイルです:

Node.js用のPDFKit npmとIronPDFの比較: 図6

柔軟性と高度な機能

IronPDF for Node.js

IronPDF for Node.js

Node.js で簡単に PDF を生成、編集、そして結合しましょう。IronPDF for Node.js を使用すると、JavaScript を使用して高品質な PDF ドキュメントを迅速に作成することができます。PDF テンプレートの操作や PDF フォームの埋め込みも可能です。

主要機能:

  • PDF の生成: HTML、画像、または URL から PDF を生成します。
  • PDF の編集: テキスト、画像、ページの管理や PDF の結合を可能にします。
  • PDF のセキュリティ: パスワード保護や権限の設定が可能です。
  • 高品質のレンダリング: すべての要素が美しくレンダリングされます。
  • JavaScript との互換性: Node.js 環境でシームレスに動作します。

IronPDF for Node.js を使用することで、PDF 操作を簡単に管理し、時間とコストの削減に貢献します。

さらに、IronPDF for 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 encrpytion 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 encrpytion password
    await pdf.saveAs("secured.pdf", {
        ownerPassword: "top-secret",
        userPassword: "my-password",
    });
})();
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Sub()
	const pdf = Await PdfDocument.open("encrypted.pdf", "password")
	const newMetadata = New Map()
	newMetadata.set("Author", "Satoshi Nakamoto")
	newMetadata.set("Keywords", "SEO, Friendly")
	Await pdf.overrideMetadata(newMetadata)
	Await pdf.removePasswordsAndEncryption()
	Await pdf.makePdfDocumentReadOnly("secret-key")
	const permissions = { AllowAnnotations: False, AllowExtractContent: False, AllowFillForms: False, AllowPrint: True}
	Await pdf.setPermission(permissions)
	Await pdf.saveAs("secured.pdf", {
		ownerPassword:= "top-secret",
		userPassword:= "my-password"
	})
End Sub)()
VB   C#

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");
})();
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Function()
	const pdf = Await PdfDocument.open("sample.pdf")
	Await pdf.signDigitalSignature({
		certificatePath:= "IronSoftware.pfx",
		certificatePassword:= "123456",
		signingReason:= "To show how to sign a PDF",
		signingLocation:= "Chicago, USA",
		signatureImage:= { SignatureImagePath:= "logo.png" }
	})
	Await pdf.saveAs("signed.pdf")
End Function)()
VB   C#

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");
});
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Function()
	const pdf = Await PdfDocument.fromFile("my-content.pdf")
	Await pdf.compressSize(60)
	Await pdf.saveAs("document_compressed.pdf")
	Await pdf.compressSize(90, True)
	Await pdf.saveAs("document_scaled_compressed.pdf")
End Function)
VB   C#

複数のPDFを結合する: IronPDFは、複数のPDFを結合するための簡単なソリューションを提供します 複数のPDFドキュメントを単一のファイルにまとめる. この機能は、レポート、契約書、または一連のフォームのようなさまざまなドキュメントを結合するのに非常に便利であり、ドキュメント管理と配布をより効率的にします。

特定の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'));
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = New PDFDocument({ margin:= 50 })
' Custom layouts
doc.text( 'Customized Layout Text', { align: 'center', valign: 'center' });
doc.end()
doc.pipe(fs.createWriteStream( 'custom-layout.pdf'));
VB   C#

この例では、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'));
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = 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'));
VB   C#

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);
});
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
const stream = require( 'stream');
Dim doc As let = New PDFDocument()
Dim buffers As let = ()
Dim writableStream As let = New stream.Writable()
writableStream._write = Sub(chunk, encoding, done)
  buffers.push(chunk)
  done()
End Sub
doc.pipe(writableStream)
doc.text( 'Streaming PDF Content');
doc.end()
writableStream.on( 'finish', () =>
If True Then
	Dim pdfData As let = Buffer.concat(buffers)
	fs.writeFileSync( 'streamed.pdf', pdfData);
End If
)
VB   C#

カスタマイズ可能なヘッダーとフッター: プロフェッショナルな見た目のPDFを作成するためには、細部にまで気を配ることが重要です。 PDFKitのカスタマイズ可能なヘッダーとフッターの機能により、ページの上部と下部にテキストやグラフィックスを正確に配置することができます。 これは、複数ページのドキュメント全体で一貫したブランディング、ドキュメントタイトル、およびページ番号を追加するのに特に役立ちます。

インタラクティブ フォーム: PDFKit は、PDF ファイル内のインタラクティブ フォームに対応し、テキスト フィールド、チェック ボックス、ラジオ ボタンの作成を可能にします。 この機能は、情報を収集したり、インタラクティブなコンテンツを提供したりすることを望むユーザーにとって非常に価値があります。PDFのユーザーエクスペリエンスと機能性を向上させることができます。

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

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

IronPDFのドキュメント ライブラリーの使用に関する包括的なガイドを提供し、URLをPDFとしてレンダリングしたり、HTML文字列からPDFを作成したりするなど、主要機能の詳細な例を含んでいます。 PDF印刷のカスタマイズオプションを提供しています。例えば、用紙サイズやDPIの設定、およびドキュメントの外観(メールマージフィールド付きのヘッダーとフッターなど)を設定できます。 ドキュメントには、カスタムWebClientの使用、編集可能なPDFフォームの作成、PDF内でのJavaScriptの操作など、より高度な側面も含まれています。 ドキュメントを参照して、完全なAPIドキュメントや他の例を確認できます。

ヘッダーとフッターの設定については、HTMLおよびテキストのオプションが十分に文書化されており、プレースホルダ文字列を使用してメタデータを統合することができます。 ライセンスの詳細が提供されており、ユーザーにウォーターマークを除去しライセンスを取得する方法を案内しています。 ドキュメントには、PDFのヘッダーとフッターの最初のページ番号を設定する方法に関する情報が含まれており、JavaScript、AJAX、またはアニメーションのレンダリングを考慮して、HTMLレンダリング後に印刷するまでの待機時間についての詳細も記載されています。

サポートオプション

IronPDFには、一般的な問題に対処し、段階的な解決策を提供するトラブルシューティングガイド集があります。 これは、問題を解決しようとしているユーザーにとって最初のステップとなります。 ガイドで解決できない複雑な問題に対しては、IronPDF は技術サポートを提供しています。 ユーザーは、プラットフォームやランタイムの詳細など、問題に関する詳細情報を提供してエンジニアリングサポートのリクエストを提出できます。これにより、サポートチームが問題を再現し、解決するのに役立ちます。 ライブチャットオプションもご利用いただけます。

PDFKit ドキュメントの品質と可用性

PDFKitのnpmドキュメントでは、このライブラリを複雑で多ページにわたる印刷可能なドキュメントを簡単に作成するためのツールとして説明しています。 そのAPIのチェーン性を強調し、低レベルの関数と高レベルの機能に対する抽象化の両方を含み、複雑なドキュメントの生成がいくつかの関数呼び出しで簡単にできるように設計されています。

ドキュメントの特徴セクションは非常に充実しており、ベクターグラフィックス、テキスト、フォント埋め込み、画像埋め込み、注釈、フォーム作成、アウトライン、およびPDFセキュリティを網羅しています。これらすべてが、ライブラリのアクセシブルで安全なドキュメント作成機能を示しています。

サポートオプション

PDFKit というオープンソースライブラリは、コミュニティのサポートを享受しています。 問題や機能のリクエストは、ユーザーがコードに貢献し、問題を提出し、プルリクエストを行うことができるGitHubリポジトリを通じて処理できます。 PDFKit に関連するコミュニティでは、開発者が知識やソリューションを共有することが多い Stack Overflow のような非公式のサポートチャンネルも提供しているかもしれません。

ライセンスモデル

IronPDFのライセンス

PDFKit npmとIronPDF for Node.jsの比較: 図8

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

Lite: $749で価格設定されており、この一括料金で提供される基本パッケージは、小規模なプロジェクトに適しています。

Professional:$1,499で、このティアはプロフェッショナルの使用向けです。より多くの機能と能力を提供します。

Unlimited: Unlimitedの価格は$2,999で、大規模なデプロイメントに最適です。すべての機能に制限なくフルアクセスできます。

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

PDFKitライセンス

PDFKitは、MITライセンスの下で提供されているオープンソースのライブラリです。 この寛容なライセンスにより、ソフトウェアの無料使用、改変、および配布が許可されます。 オープンソースプロジェクトであるため、PDFKitには料金体系がありません。 任意のプロジェクトに自由に組み込むことができ、ユーザーはGitHubを通じてその開発に貢献することができます。 このプロジェクトでは寄付を受け付けています。これは強制ではありませんが、ライブラリの継続的な開発および保守の支援となります。

結論

結論として、IronPDF for Node.jsとPDFKitはそれぞれの環境でPDF生成および操作のための強力なツールとして機能しますが、IronPDF for Node.jsはNode.jsプラットフォーム向けに特化された豊富な機能セットにより優位性を持っています。

IronPDFのHTMLをPDFに変換する機能、高度な編集、およびJavaScriptや他のリッチメディアの包括的なサポートにより、さまざまなPDF処理タスクに対応する多用途なソリューションとなっています。 さらに、IronPDFの強力なセキュリティへの注力と詳細なドキュメントは、開発者にとって重要な安心感とアクセス性を提供します。

PDFKitはオープンソースであるため、広範なコミュニティサポートを望む開発者やソースコードを修正したいと考える開発者にとって大変魅力的な柔軟性と使いやすさを提供します。 その機能は印象的であり、特にオープンソースソリューションのコストメリットを考慮すると驚くべきものです。

IronPDFは、開発者が財政的なコミットメントを行う前にその全機能を評価できるようにする無料トライアルを提供しています。 さらに、 Iron SoftwareのIron Suite以下を日本語に翻訳してください:

IronPDFを含む他の貴重な開発者向けツールなど IronXL, IronBarcode, IronQR、および IronOCR, 2つの製品の価格で包括的な機能セットを提供する、費用対効果の高いパッケージです。

最終的に、IronPDF for Node.jsとPDFKitの選択は、プロジェクトの特定の要求や開発者または開発チームの好みによって決定されます。 Node.jsエコシステム内で豊富な機能セットと充実したドキュメントを求める方にとって、IronPDF for Node.jsは適した選択となります。

準備はできましたか? バージョン: 2024.9 新発売

無料のnpmインストール View Licenses >