PDF 工具

如何在NodeJS中将PDF转换为图像

发布 2023年八月2日
分享:

将 PDF 文档转换为 PNG、JPG、GIF 等图像格式是各种应用程序(从文档管理系统到图像处理软件)的一项重要功能。在本文中,我们将学习如何使用 Node.js 将 PDF 转换为图像文件。我们将利用流行的 npm (节点软件包管理器) 软件包 "pdf-poppler "来完成这项任务。

先决条件

首先,确保您拥有 Node.js 和 `npm (节点软件包管理器) 安装在您的机器上。您可以在命令提示符下运行以下命令检查 Node 的安装情况 (cmd):

node --version
npm --version
NODE.JS

如果没有安装,您需要 下载 它来自 Node.js 网站。

如何在 NodeJS 中将 PDF 转换为图像:图 1 - Node.js 模块

设置项目

首先,为项目创建一个新目录。在本教程中,我们将该目录命名为 NodeJS_PDFtoImage. 下一步,在命令提示符中导航到该目录,然后运行以下命令初始化一个新的 Node.js 项目:

npm init -y
NODE.JS

运行上述命令会生成一个 package.json 文件,允许我们安装项目所需的依赖项。

安装依赖项

我们要使用的依赖包是 "pdf-poppler",它为将 PDF 转换为图像提供了易于使用的 API。

在 Windows PowerShell 或 Command Prompt 中运行以下命令即可安装:

npm install pdf-poppler
NODE.JS

全部完成! 让我们编写将 PDF 转换为图像的逻辑。

将 PDF 转换为图像文件

安装完成后,在项目根目录下新建一个文件,命名为 pdfToImage.js。用你喜欢的文本编辑器打开文件,添加所需的模块:

const pdfPoppler = require('pdf-poppler');
NODE.JS

下面是一个 28 页的 PDF 文件示例。

如何在 NodeJS 中将 PDF 转换为图像:图 2 - 输入文件

接下来,定义一个名为 convertPdfToImage 的函数,该函数接收 PDF 文件路径 pdfPath 和输出目录路径 (输出路径).该函数将把我们的 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);
    //log message
    console.log('PDF converted to image successfully!');
  } catch (error) {
    console.error('Error converting PDF to image:', error);
  }
}
NODE.JS

该函数使用 pdfPoppler 软件包将 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);
NODE.JS

注意:pdfPath"/path/to/input.pdf"替换为输入 PDF 文件的实际路径,将 "/path/to/output/文件夹 "替换为所需的输出目录路径。

完整代码如下

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.js 脚本:

node pdfToImage.js
NODE.JS

这将运行 Node.js 脚本,并使用 pdf-poppler 将 PDF 转换为图像文件。

如何在 NodeJS 中将 PDF 转换为图像:图 3 - Node.js 脚本

输出文件夹

如何在 NodeJS 中将 PDF 转换为图像:图 4 - 输出

在 C&num 中将 PDF 文件栅格化为图像;

IronPDF for C# .NET

IronPDF 是一个多功能的 .NET 库,允许 C# 开发人员即时处理 PDF 文档。它为在 C&num 中创建、操作和转换 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();
Imports IronPdf
Imports IronSoftware.Drawing

Private 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
Dim pdfBitmaps() As AnyBitmap = pdf.ToBitmap()
VB   C#

如何在 NodeJS 中将 PDF 转换为图像:图 5 - Node JS PDF 至图像输出

使用 IronPDF 将 PDF 转换为图像文件就是这么简单。有关 PDF 转换为图像的更多详情,请访问此处 代码示例页面.

结论

在本文中,我们探讨了如何使用 pdf-poppler 软件包在 Node.js 中将 PDF 文件转换为图像。按照概述的步骤,您可以将 PDF 到图像的转换功能集成到 Node.js 应用程序中,从而为以编程方式处理和操作 PDF 文档提供广泛的可能性。

另一方面,IronPDF 是一个功能强大的 C# 库,可为 PDF 操作和转换任务提供便利。其将 PDF 转换为图像的功能为以编程方式提取图像或生成 PDF 页面的图像表示提供了一种便捷的方法。通过利用 IronPDF 的功能,开发人员可以将 PDF 到图像的转换功能无缝集成到他们的 C&num 中;

IronPDF 可免费用于开发,也可授权用于商业用途。此外,您还可以在商业模式下使用它,但需要支付一定的费用。 免费试用.

< 前一页
如何在Chrome中打开PDF文件
下一步 >
如何在 C++ 中查看 PDF 文件

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >