PDF转图片
效果图
代码
javascript
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
效果图如下
代码:
javascript
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);
});