node.js实现pdf与图片互转代码示例

 更新时间:2024年04月10日 08:46:31   作者:#老程  
因工作需求,记录一次如何在Node中pdf与图片互转各种操作,这篇文章主要给大家介绍了关于node.js实现pdf与图片互转的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

PDF转图片

效果图

代码

const path = require('path');  
const pdf = require('pdf-poppler');  
const fs = require('fs');  
  
// PDF文件路径  
const pdfFilePath = './path/test.pdf';  
  
// 转换选项  
const opts = {  
  format: 'png', // 输出图片格式,可以是 'jpeg', 'png', 'ppm', 'tiff', 'xps', 'xml', 'xps1', 'xps2' 等  
  out_dir: './path/output', // 输出目录  
  out_prefix: 'outputImg', // 输出文件的前缀  
  page: null // 要转换的页码,可以是具体的页码或者一个页码范围,例如 [1, 3, 5] 或者 '1-5'  
};  
  
// 转换PDF为图片  
pdf.convert(pdfFilePath, opts)  
  .then(res => {  
    console.log('Successfully converted:', res);  
    // res 是一个包含转换后图片文件路径的数组  
    // 例如:['./output/output-1.jpeg', './output/output-2.jpeg']  
  })  
  .catch(error => {  
    console.error('Error converting PDF to images:', error);  
  });

图片转PDF

效果图如下

代码:

const PDFDocument = require('pdfkit');  
const fs = require('fs');  
const path = require('path');  
  
// 创建一个PDF文档  
const doc = new PDFDocument();  
  
// 设置文档元数据(可选)  
doc.info.title = 'My Image to PDF';  
  
// 将PDF文档流写入一个文件  
const outputStream = fs.createWriteStream(path.resolve('./path/output/output.pdf'));  
doc.pipe(outputStream);  
  
// 将图片添加到PDF文档中  
doc.image('./path/zgr.jpg', {  
  width: 500, // 设置图片宽度  
  height: 300, // 设置图片高度  
  fit: [500, 300] // 或者使用fit来适应指定尺寸  
});  
  
// 结束文档并关闭流  
doc.end();  
  
outputStream.on('finish', () => {  
  console.log('PDF生成完成');  
});  
  
outputStream.on('error', (err) => {  
  console.error('PDF生成出错:', err);  
});

总结 

到此这篇关于node.js实现pdf与图片互转的文章就介绍到这了,更多相关nodejs pdf与图片互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Windows平台升级Node.js详细步骤及注意事项

    Windows平台升级Node.js详细步骤及注意事项

    Node.js是一个开源、跨平台的JavaScript运行环境,它让开发者可以在服务器端执行JavaScript代码,这篇文章主要介绍了Windows平台升级Node.js详细步骤及注意事项的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-05-05
  • 详解NODEJS基于FFMPEG视频推流测试

    详解NODEJS基于FFMPEG视频推流测试

    本篇文章主要介绍了详解NODEJS基于FFMPEG视频推流测试,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Node.js 基础教程之全局对象

    Node.js 基础教程之全局对象

    这篇文章主要介绍了Node.js 基础教程之全局对象的相关资料,Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性,需要的朋友可以参考下
    2017-08-08
  • package-lock.json解决依赖的版本管理使用详解

    package-lock.json解决依赖的版本管理使用详解

    这篇文章主要为大家介绍了package-lock.json解决依赖的版本管理使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 详解nodejs微信公众号开发——3.封装消息响应模块

    详解nodejs微信公众号开发——3.封装消息响应模块

    上一篇文章:nodejs微信公众号开发(2)自动回复,实现了简单的关注回复。采用拼接字符串的形式,并不是很方便,这里我们将其封装承接口。
    2017-04-04
  • 给nodejs升级的两种方法

    给nodejs升级的两种方法

    nodejs是一种流行的服务器端JavaScript运行环境,它经常需要更新以获取最新的功能和性能优化,本文将给大家介绍了给nodejs升级的两种方法,文中通过代码示例讲解非常详细,需要的朋友可以参考下
    2023-12-12
  • nodejs控制台打印高亮代码的实现方法

    nodejs控制台打印高亮代码的实现方法

    这篇文章主要给大家介绍了关于nodejs控制台打印高亮代码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • nvm如何切换与管理node版本

    nvm如何切换与管理node版本

    这篇文章主要介绍了nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • node.js 中国天气预报 简单实现

    node.js 中国天气预报 简单实现

    本文主要介绍使用node.js做一个自用的天气插件,需要的朋友可以参考下。
    2016-06-06
  • 简单好用的nodejs 爬虫框架分享

    简单好用的nodejs 爬虫框架分享

    使用nodejs开发爬虫半年左右了,爬虫可以很简单,也可以很复杂。简单的爬虫定向爬取一个网站,可能有个几万或者几十万的页面请求,今天给大家介绍这款非常好用的爬虫框架crawl-pet
    2017-03-03

最新评论