フッターコンテンツにスキップ
PDF ツール

NodeJSでPDFを画像に変換する方法

PDF文書をPNG、JPG、GIFなどの画像形式に変換することは、文書管理システムから画像処理ソフトウェアまで、さまざまなアプリケーションで価値ある機能となります。 この記事では、Node.jsを使用してPDFを画像ファイルに変換する方法を学びます。 このタスクを達成するために、pdf-popplerという人気のあるnpm(Node Package Manager)パッケージの力を活用します。

前提条件

まず、あなたのマシンにNode.jsとnpm(Node Package Manager)がインストールされていることを確認してください。Nodeのインストールは、コマンドプロンプト(cmd)で以下のコマンドを実行することで確認できます:

node --version
npm --version
node --version
npm --version
SHELL

インストールされていない場合は、Node.jsのウェブサイトからダウンロードする必要があります。

NodeJSでPDFを画像に変換する方法:図1 - Node.jsモジュール

プロジェクトの設定

始めるには、プロジェクト用に新しいディレクトリを作成してください。 このチュートリアルでは、このディレクトリをNodeJS_PDFtoImage.と名付けましょう。次に、コマンドプロンプトでこのディレクトリに移動し、新しいNode.jsプロジェクトを実行して初期化します:

npm init -y
npm init -y
SHELL

上記のコマンドを実行すると、package.jsonファイルが生成され、プロジェクトの必要な依存関係をインストールできるようになります。

依存関係のインストール

使用する依存関係はpdf-popplerで、PDFを画像に変換するための使いやすいAPIを提供するパッケージです。

Windows PowerShellまたはコマンドプロンプトで次のコマンドを実行してインストールしてください:

npm install pdf-poppler
npm install pdf-poppler
SHELL

これで完了です! PDFを画像に変換するロジックを書きましょう。

PDFを画像ファイルに変換する

インストールが完了したら、プロジェクトのルートディレクトリに新しいファイルを作成し、名前をpdfToImage.jsとします。 お好きなテキストエディタでファイルを開き、必要なモジュールを追加してください:

const pdfPoppler = require('pdf-poppler');

28ページのPDFファイルのサンプルを以下に示します。

NodeJSでPDFを画像に変換する方法:図2 - 入力ファイル

次に、PDFファイルへのパス(pdfPath)と出力ディレクトリパス(outputPath)を取り込むconvertPdfToImageという関数を定義します。 この関数は、サンプルPDF文書を画像に変換します。

async function convertPdfToImage(pdfPath, outputPath) {
  const options = {
    format: 'jpeg',  // You can choose other formats like png or tiff
    out_dir: outputPath,
    out_prefix: 'page',
    page: null  // Specify the page number here to convert a specific page, otherwise null to convert all pages
  };

  try {
    await pdfPoppler.convert(pdfPath, options);
    console.log('PDF converted to image successfully!');
  } catch (error) {
    console.error('Error converting PDF to image:', error);
  }
}

この関数は、pdf-popplerパッケージを使用してPDFをJPEG画像形式に変換します。 今回はformatオプションを'jpeg'に設定しましたが、'png'や'tiff'など他のフォーマットを選択することもできます。 out_dirオプションは出力画像が保存されるディレクトリを指定し、out_prefixは出力画像ファイルの接頭辞を設定します。 pageオプションでは、変換する特定のページを指定することができます。

PDFファイルを画像に変換するには、適切なファイルパスを指定してconvertPdfToImage関数を呼び出します。 例えば:

const pdfPath = '/path/to/input.pdf';
const outputPath = '/path/to/output/folder';

convertPdfToImage(pdfPath, outputPath);

注意: pdfPathの値を"/path/to/input.pdf"を入力PDFファイルへの実際のパスに、"/path/to/output/folder"を希望の出力ディレクトリパスに置き換えてください。

完全なコードは次のとおりです。

const pdfPoppler = require('pdf-poppler');

const pdfPath = 'C:\\Users\\hp\\Desktop\\NodeJS_PDFtoImage\\pdf_files\\input.pdf';
const outputDir = 'C:\\Users\\hp\\Desktop\\NodeJS_PDFtoImage\\pdf_images';

async function convertPdfToImage(pdfPath, outputPath) {
  const opts = {
    format: 'jpeg',      // You can choose other formats like png or tiff
    out_dir: outputPath,
    out_prefix: 'page',
    page: null           // Specify the page number here to convert a specific page, otherwise null to convert all pages
  };

  try {
    await pdfPoppler.convert(pdfPath, opts);
    console.log('PDF converted to image successfully!');
  } catch (error) {
    console.error('Error converting PDF to image:', error);
  }
}

convertPdfToImage(pdfPath, outputDir);

Node.jsスクリプトの実行

次のコマンドを実行して、Node.jsスクリプトを実行してください:

node pdfToImage.js
node pdfToImage.js
SHELL

これはNode.jsスクリプトを実行し、pdf-popplerを使ってPDFを画像ファイルに変換します。

NodeJSでPDFを画像に変換する方法:図3 - Node.jsスクリプト

出力フォルダー

NodeJSでPDFを画像に変換する方法: 図4 - 出力

C#でPDFファイルを画像にラスタライズする

C#.NET用IronPDF

IronPDFは汎用性の高い.NETライブラリで、C#開発者がPDFドキュメントを即座に扱えるようにします。 C#内でPDFファイルを作成、操作、変換するための包括的な機能を提供します。

IronPDFはC#を使ってPDFドキュメントを画像ファイルに変換する便利な方法を提供します。 この機能は、プログラムでPDFファイルから画像を抽出したり、画像のサムネイルを生成したりする必要がある場合に特に便利です。

IronPDFを使用して画像に変換するには、以下のコードスニペットの手順に従ってください:

using IronPdf;
using IronSoftware.Drawing;

var pdf = PdfDocument.FromFile("input.pdf");

// Extract all pages to a folder as image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");

// Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);

// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
using IronPdf;
using IronSoftware.Drawing;

var pdf = PdfDocument.FromFile("input.pdf");

// Extract all pages to a folder as image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");

// Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);

// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
$vbLabelText   $csharpLabel

NodeJSでPDFを画像に変換する方法:図5 - Node JSのPDFから画像への出力

IronPDFを使ってPDFを画像ファイルに変換するのはとても簡単です。 PDFから画像への変換の詳細については、このコード例のページをご覧ください。

結論

この記事では、pdf-popplerパッケージを使用して、Node.jsでPDFファイルを画像に変換する方法を探りました。 概説されたステップに従うことで、PDFから画像への変換機能をNode.jsアプリケーションに統合することができ、PDFドキュメントをプログラムで扱い、操作するための幅広い可能性を可能にします。

一方、IronPDFはPDFの操作と変換タスクを容易にする強力なC#ライブラリです。 PDFを画像に変換する機能は、プログラムで画像を抽出したり、PDFページの画像表現を生成したりする便利な方法を提供します。 IronPDFの機能を活用することで、開発者はPDFから画像への変換機能をC#アプリケーションにシームレスに統合することができます。

IronPDFは開発のために無料で利用でき、商業利用のためにライセンスできます。 さらに、無料トライアルで商用モードでも使用できます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。