透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
このチュートリアルでは、IronPDFのJavaScript SDK と PDFKit - JavaScript PDFライブラリの2つの大手について掘り下げていきます。 どちらもNode.jsプロジェクトに対して堅実な選択ですが、それぞれに強みと弱みがあります。
この記事の目的は、読者にIronPDFおよびPDFKitツールが開発者のNode.jsワークフローにどのように適合するかについての実際の感覚を提供することです。 基本的なPDFを処理する場合でも、複雑なレイアウトに対処する場合でも、IronPDFとPDFKitが何をできるのか(そして、何をできないのか)を理解することは非常に重要です。
PDFKitは、Node.jsおよびブラウザ環境向けの先進的なJavaScript PDF生成ライブラリです。 その包括的なツールセットにより、簡単に複数ページの印刷可能なドキュメントを作成するのに最適です。 ライブラリは使いやすく設計されており、複雑な文書の生成プロセスを効率化します。
PDFKitは、その強力なベクターグラフィック機能、豊富なテキストおよびフォントのスタイリングオプション、画像埋め込み機能、インタラクティブおよびセキュアなPDFドキュメントのサポートで際立っています。 その使いやすさと、サーバーサイドおよびブラウザー環境の両方での多用途性を兼ね備えているため、様々なアプリケーションでカスタムPDFを生成する必要がある開発者にとって価値のあるツールとなっています。
柔軟な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を使えば、HTMLの文字列やファイル、あるいはウェブページ全体を、CSSスタイルや画像を含むオリジナルのコンテンツとまったく同じ見た目のPDFに簡単に変換することができます。 これは、ウェブデザインによって指定されたブランディングとレイアウトを保持する必要がある請求書、契約書、報告書などのプロフェッショナルグレードのドキュメントを提供するために重要です。
IronPDFは、HTMLコンテンツを高忠実度のPDFドキュメントに変換するのに優れています。 その機能には次のものが含まれます:
IronPDFは、HTMLコンテンツから作成されたPDFのカスタマイズおよび強化を可能にする包括的なフォーマットツールを提供します。例えば:
IronPDFの編集機能は多岐にわたり、既存のPDFを特定のニーズに合わせて修正することができます。
IronPDFは、PDFフォームの作成および操作をサポートし、PDF内にインタラクティブな要素を追加することができます。
PDF フォーム: これには、デジタルで記入できるフォームの作成が含まれ、企業がデータ収集プロセスを自動化することを可能にします。 IronPDFを使用すると、プログラムによってフォームを作成し、フィールドに入力し、さらには情報を取得することができます。これにより、ワークフローが効率化され、手動でのデータ入力が削減されます。
IronPDFは様々なプラットフォームをサポートしており、異なる開発環境に対して汎用性を持っています。 それはNode.jsバージョン12.0以上と互換性があり、Windows、Linux、Mac、およびDockerで使用できます。
PDF生成の世界に飛び込む前に、プロジェクト環境を設定する必要があります。 Visual Studio Code (VS Code) は、理想的でユーザーフレンドリーなプラットフォームを提供します。 まず、VS Codeを起動して、新しいJavaScriptプロジェクトを作成します。 これを行うには、プロジェクト用の新しいフォルダーを設定し、それをVS Codeで開きます。 これは、コードを記述し、プロジェクトのファイルを管理する環境になります。
VS Codeでフォルダーを開いたら、次のステップは新しいJavaScriptプロジェクトを初期化することです。 VS Codeで統合ターミナルを開き(通常メニューの「ターミナル」>「新しいターミナル」から見つかります)、npm init
と入力します。 このコマンドは、プロジェクトの依存関係とメタデータを管理するために重要なpackage.json
ファイルの作成を案内します。
JavaScriptプロジェクトの設定が完了したら、IronPDFライブラリをインストールする時です。 VS Codeのターミナルで、次のコマンドを実行してください。
npm install ironpdf
npm install ironpdf
このコマンドはIronPDFライブラリを取得してインストールし、プロジェクトの依存関係に追加します。
インストール後、package.json
ファイルのdependenciesセクションにIronPDFがリストされていることを確認してください。 これにより、IronPDFがプロジェクトに正しく統合され、スムーズなPDF生成および操作が可能になります。
次に紹介するのは、PDFKit です。PDFKitは、強力で多用途なPDFドキュメント生成ライブラリです。 PDFKit をプロジェクトに追加するには、VS Code 内のターミナルで次のコマンドを実行します:
npm install pdfkit
npm install pdfkit
これにより、PDFKitがインストールされ、プロジェクトの依存関係に追加されます。
インストールが成功したら、PDFKitがpackage.jsonファイルの依存関係に表示されていることを確認してください。この確認は、複雑で詳細かつ視覚的に魅力的なPDFファイルを作成するために必要なツールがプロジェクトに備わっていることを確認するために重要です。
Node.js向けIronPDFは、HTMLからPDFへの変換において優れた能力を発揮し、開発者にとって効率的なソリューションを提供します。 このライブラリは、CSSスタイルのレンダリング、JavaScriptの実行、カスタムヘッダーとフッターの挿入のような複雑なタスクを扱うのに優れています。 これらの機能は、HTMLソースからプロフェッショナル品質のPDFを作成する能力を大幅に向上させます。 IronPDF for Node.jsは、この変換プロセスのために3つの便利な方法を提供します。
HTML文字列を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);
}
})();
javascript
ここでコードの出力を見ることができます:
この機能により、開発者は既存の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);
}
})();
javascript
こちらは生成された請求書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);
}
})();
javascript
こちらはURLから生成された出力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();
javascript
このコードスニペットは、テキストの見出しを含むPDFファイルを作成します。PDFKitは直接HTMLをPDFに変換することはできませんが、テキストの配置やフォーマットの詳細な制御が可能です。
こちらはPDFKitによって生成された出力ファイルです:
パスワード、セキュリティ & メタデータ: 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",
});
})();
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");
})();
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");
});
javascript
複数のPDFを結合する: IronPDFは、複数のPDFドキュメントを単一のファイルに結合する簡単なソリューションを提供します。 この機能は、レポート、契約書、または一連のフォームのようなさまざまなドキュメントを結合するのに非常に便利であり、ドキュメント管理と配布をより効率的にします。
特定のPDFページを削除: 編集の柔軟性はあらゆるPDFツールにとって重要であり、IronPDFはPDFドキュメントから特定のページを削除する機能を提供します。 これは、異なる対象読者向けにコンテンツを調整する際や、不要なページを省いてより簡潔なドキュメントを作成する際に特に役立ちます。
カスタマイズ可能なレイアウトエンジン: 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'));
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'));
javascript
ストリームとバッファの処理: 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);
});
javascript
カスタマイズ可能なヘッダーとフッター: プロフェッショナルな外観のPDFを作成するには、細部に注意を払う必要があります。 PDFKitのカスタマイズ可能なヘッダーとフッターの機能により、ページの上部と下部にテキストやグラフィックスを正確に配置することができます。 これは、複数ページのドキュメント全体で一貫したブランディング、ドキュメントタイトル、およびページ番号を追加するのに特に役立ちます。
インタラクティブフォーム: PDFKitは、PDFファイル内でインタラクティブフォームを拡張し、テキストフィールド、チェックボックス、ラジオボタンの作成を可能にします。 この機能は、情報を収集したり、インタラクティブなコンテンツを提供したりすることを望むユーザーにとって非常に価値があります。PDFのユーザーエクスペリエンスと機能性を向上させることができます。
IronPDF のドキュメント は、URL を PDF としてレンダリングしたり、HTML 文字列から PDF を作成したりするなどの主要機能を具体的な例とともにライブラリの使用方法を網羅的に案内しています。 PDF印刷のカスタマイズオプションを提供しています。例えば、用紙サイズやDPIの設定、およびドキュメントの外観(メールマージフィールド付きのヘッダーとフッターなど)を設定できます。 ドキュメントには、カスタムWebClientの使用、編集可能なPDFフォームの作成、PDF内でのJavaScriptの操作など、より高度な側面も含まれています。 完全なAPIドキュメントやより多くの例については、ドキュメントを参照することができます。
ヘッダーとフッターの設定については、HTMLおよびテキストのオプションが十分に文書化されており、プレースホルダ文字列を使用してメタデータを統合することができます。 ライセンスの詳細が提供されており、ユーザーにウォーターマークを除去しライセンスを取得する方法を案内しています。 ドキュメントには、PDFのヘッダーとフッターの最初のページ番号を設定する方法に関する情報が含まれており、JavaScript、AJAX、またはアニメーションのレンダリングを考慮して、HTMLレンダリング後に印刷するまでの待機時間についての詳細も記載されています。
IronPDFには、一般的な問題に対処し、段階的な解決策を提供するトラブルシューティングガイド集があります。 これは、問題を解決しようとしているユーザーにとって最初のステップとなります。 ガイドで解決できない複雑な問題に対しては、IronPDF は技術サポートを提供しています。 ユーザーは、プラットフォームやランタイムの詳細など、問題に関する詳細情報を提供してエンジニアリングサポートのリクエストを提出できます。これにより、サポートチームが問題を再現し、解決するのに役立ちます。 ライブチャットオプションもご利用いただけます。
PDFKitのnpmドキュメントでは、このライブラリを複雑で多ページにわたる印刷可能なドキュメントを簡単に作成するためのツールとして説明しています。 そのAPIのチェーン性を強調し、低レベルの関数と高レベルの機能に対する抽象化の両方を含み、複雑なドキュメントの生成がいくつかの関数呼び出しで簡単にできるように設計されています。
ドキュメントの特徴セクションは非常に充実しており、ベクターグラフィックス、テキスト、フォント埋め込み、画像埋め込み、注釈、フォーム作成、アウトライン、およびPDFセキュリティを網羅しています。これらすべてが、ライブラリのアクセシブルで安全なドキュメント作成機能を示しています。
PDFKit というオープンソースライブラリは、コミュニティのサポートを享受しています。 問題や機能のリクエストは、ユーザーがコードに貢献し、問題を提出し、プルリクエストを行うことができるGitHubリポジトリを通じて処理できます。 PDFKit に関連するコミュニティでは、開発者が知識やソリューションを共有することが多い Stack Overflow のような非公式のサポートチャンネルも提供しているかもしれません。
IronPDFは商業ライセンスモデルで運営されているため、開発者や企業は制限なくプロジェクトでライブラリを使用するためにライセンスを購入する必要があります。
Lite: $749の価格で、この一回限りの料金は小規模プロジェクトに適した基本パッケージを提供します。
Professional: $1,499で、プロフェッショナル使用向けで、より多くの機能と能力を提供します。
Unlimited: この無制限層は、価格が$2,999で、大規模な展開に理想的であり、制限なしにすべての機能にフルアクセスを提供します。
IronPDF は 無料試用版 も提供しており、開発者が購入前にライブラリを評価することができます。 無料またはフリーミアム版は提供されておらず、プレミアムコンサルティングや統合サービスも提供しておりません。
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は適した選択となります。