如何在Node.js中将PDF转换为图像文件
IronPDF for Node.js通过单一方法调用将PDF页面转换为图像。 rasterizeToImageFiles方法从任何PDF中生成PNG、JPG、GIF、BMP和其他格式——无论是单页还是多页——可以直接控制输出分辨率和页面选择。
方法自动检测您提供的文件扩展名中的输出格式,因此在格式之间切换不需要配置更改。 对于无法更改扩展名的环境,显式的ImageType枚举值可覆盖基于扩展的检测。 IronPDF Node.js文档涵盖支持的输入来源的全范围,包括文件路径、字节缓冲区、转换为PDF的HTML字符串,以及栅格化之前的。
快速入门:将PDF转换为PNG
- 安装 IronPDF:
npm install @ironsoftware/ironpdf - 从包中导入
PdfDocument - 使用
PdfDocument.fromFile()加载您的PDF - 使用输出路径调用
rasterizeToImageFiles()
:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/quickstart.js最小工作流程(5 个步骤)
1. 通过npm安装IronPDF for Node.js 2. 导入`PdfDocument`类 3. 使用`PdfDocument.fromFile()`加载PDF文件 4. 使用所需的输出路径和扩展名调用`rasterizeToImageFiles()` 5. 对于多页PDF,方法会自动将页码附加到每个输出文件名如何安装 IronPDF for Node.js?
npm i @ironsoftware/ironpdf
从npm安装IronPDF的Node.js包以将PDF转换为PNG、JPG、GIF、BMP和其他图像格式。
在生产中将PDF转换为图像之前,配置您的许可证密钥。 该包还需要在您的系统上安装IronPDF引擎——这个二进制文件处理所有PDF渲染操作,并必须存在以进行转换。
系统要求是什么?
需要Node.js 12或更高。 IronPDF引擎二进制文件首次加载包时会自动下载,但如果您的部署环境限制出站网络访问,您也可以手动安装。 @ironsoftware/ironpdf包可以在npm注册表上获取,并且不包含本地模块编译步骤,这使得CI管道简单明了。
如何将 PDF 转换为图像?
rasterizeToImageFiles方法读取PDF文档并将每页写入一幅图像文件到您提供的输出路径。对于单页PDF,它只生成一个图像。 对于多页PDF,它会自动在每个文件名后追加页码后缀。
下面的示例加载一个来自Learning Container的示例PDF,并将其转换为PNG文件。
在查看器中打开的示例PDF文件。 从Learning Container下载此文件和其他测试PDF。
:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-png.jsPdfDocument对象。 rasterizeToImageFiles。 路径中的文件扩展名——此处为.png——告诉IronPDF应生成何种格式。 .catch块处理任何读取或转换错误。
从上述示例PDF生成的PNG。 IronPDF仅用三行代码转换了文档。
有关此方法选项的更多详细示例,请参见PDF到图片代码示例页面。
如何将PDF转换为JPEG格式?
格式选择是自动的:无论您传递给rasterizeToImageFiles的扩展是什么都会决定输出格式。 要生成JPEG而不是PNG,请更改目标路径中的扩展名:
//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-jpeg-extension.js
// Switch to JPEG by changing the file extension in the output path.
pdf.rasterizeToImageFiles("./images/pdf-to-jpeg.jpg");当不能控制输出文件名时——例如,在具有固定命名方案的自动化管道中——通过向选项对象传递ImageType值来覆盖基于扩展的检测:
:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-jpeg-imagetype.js选项对象中的type属性优先于文件名扩展。 在以上示例中,即使目标路径以rasterizeToImageFiles仍生成一个JPEG文件。 相同的模式适用于GIF和BMP输出。
DPI设置如何影响输出质量?
选项对象中的dpi属性控制光栅化输出的像素密度。 更高的值生成更大的文件,细节更多; 较低的值减小文件大小,但会损失清晰度。
dpi: 300会生成适合高分辨率打印或存档的打印质量图像。 对于屏幕显示或缩略图生成,dpi: 96在确保适用于网络使用的清晰度的同时减少了文件大小。)]150 DPI是大多数归档或预览场景的合理默认值 — 输出足够清晰以便在屏幕上阅读,并且文件大小保持在可控范围。 对于将在转换后打印或进行OCR处理的内容,建议使用300 DPI或更高。
如何将多页PDF转换为图片?
对于多于一页的文档,rasterizeToImageFiles为每页创建一个图像。 IronPDF在每个输出文件名后面追加基于零的页索引,使输出无需额外代码即可保持有序。
一个两页的示例PDF。 IronPDF在转换过程中为每页创建一个图像文件。
:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-multipage.js
从两页PDF生成的两个PNG文件。 IronPDF使用其页码命名每个输出文件。
此自动页面分割行为适用于所有支持的图像格式。 与下一节中的fromPages选项配对,只转换大型文档中的特定页面。 为了向相反方向操作,请查看图片到PDF示例以了解如何将多个图像文件合并成一个PDF文档。
输出文件名是如何构建的?
文件名模式使用基于一的页码附加在文件扩展名前。 如果输出路径是report-page_3.png。 在调用rasterizeToImageFiles之前,必须存在输出目录——方法不会自动创建缺失的目录。
rasterizeToImageFiles之前创建输出目录。 如果目标目录不存在,该方法将抛出错误。使用Node.js的fs.mkdirSync('./images/output', { recursive: true })提前创建它。如何只转换特定页面?
选项对象中的fromPages属性接受从零开始的页面索引数组。 仅提指定的页面被栅格化; 所有其他页面被跳过。 这是处理大型PDF时很有用,只需部分页面时 — 例如,为文档预览提取封面和段落起始页面。 当您需要在转换前处理单个页面时,Node.js API参考中的PdfDocument文档提供了额外的页面级操作。
:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-selective-pages.js
IronPDF仅光栅化在fromPages数组中指定的四个页面。 其他页面未处理。
[0, 3, 5, 8]针对第一、第四、第六和第九页。 150的DPI值在输出质量与文件大小之间取得了平衡 — 适合归档或预览用例。 选择性转换适用于所有已支持的图像类型。
零基和一基页码之间有什么区别?
fromPages使用从零开始的索引,符合JavaScript的标准数组约定。 文档的第1页对应于索引1,依此类推。 这与PDF查看器中出现的一基页码不同。 将查看器页面号码转换为fromPages索引时,每个页面数字减去一。
pdf.pageCount()从PdfDocument API读取页数,并将fromPages值。
PDF到图像转换的下一步是什么?
IronPDF的rasterizeToImageFiles方法在一致的API中处理格式选择、多页分割和选择性页面转换。 选项对象是格式覆盖、DPI控制和页面过滤的唯一扩展点。
要更进一步,IronPDF Node.js API参考文档所有可用在PdfDocument类上的参数。 从PDF到图像的代码示例展示了rasterizeToImageFiles与额外的配置一起使用。 为了相反方向的操作,请查看图片到PDF文件转换或多帧TIFF文件到PDF转换。
开始IronPDF for Node.js的免费试用,以在您自己的项目中测试PDF到图像的转换。 查看许可选项以找到适合您团队的计划。
准备看看IronPDF还能做些什么吗? 在此查看完整的Node.js教程:Node.js中的HTML到PDF转换
常见问题解答
如何在 Node.js 中将 PDF 转换为图像?
使用IronPDF的rasterizeToImageFiles方法。通过npm install @ironsoftware/ironpdf安装包,用PdfDocument.fromFile()加载您的PDF,然后用输出路径调用rasterizeToImageFiles()。文件扩展名自动确定输出格式。
rasterizeToImageFiles支持哪些图像格式?
IronPDF支持PNG、JPG、GIF和BMP输出。格式通过输出路径中的文件扩展名检测。如需覆盖此设置,在选项对象中传入ImageType枚举值,例如{ type: ImageType.JPG }强制输出JPEG格式,不论文件名扩展名为何。
如何仅转换PDF的特定页面为图像?
在选项对象中传递fromPages数组。数组接受零基页面索引,因此fromPages: [0, 2, 4]转换第一、三、五页。数组中未列出的页面将被跳过。
要进行PDF到图像转换应该使用什么DPI?
在选项对象中设置dpi属性。对于屏幕显示和缩略图使用dpi: 96,对于归档和预览使用dpi: 150,对于打印质量输出或转换后需要OCR处理的内容使用dpi: 300。
在Node.js中安装IronPDF的要求是什么?
需要Node.js 12或更高版本。通过npm install @ironsoftware/ironpdf安装包。IronPDF引擎二进制文件在首次使用时自动下载并处理所有PDF渲染。对于生产环境,需配置许可证密钥以去除输出水印。
多页PDF的输出文件名结构是怎样的?
IronPDF在文件扩展名之前添加基于一的页码。如果输出路径为report-page.png,则三页PDF将产生report-page_1.png、report-page_2.png和report-page_3.png。在调用该方法之前,输出目录必须存在。
在Node.js中PDF到图像的转换是异步的吗?
是的。PdfDocument.fromFile()和rasterizeToImageFiles()都返回Promise。用.then()链式调用处理成功路径,用.catch()处理转换错误。您也可以使用async/await语法。





