node.js實現(xiàn)pdf與圖片互轉(zhuǎn)代碼示例
更新時間:2024年04月10日 08:46:31 作者:#老程
因工作需求,記錄一次如何在Node中pdf與圖片互轉(zhuǎn)各種操作,這篇文章主要給大家介紹了關(guān)于node.js實現(xiàn)pdf與圖片互轉(zhuǎn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
PDF轉(zhuǎn)圖片
效果圖

代碼
const path = require('path');
const pdf = require('pdf-poppler');
const fs = require('fs');
// PDF文件路徑
const pdfFilePath = './path/test.pdf';
// 轉(zhuǎn)換選項
const opts = {
format: 'png', // 輸出圖片格式,可以是 'jpeg', 'png', 'ppm', 'tiff', 'xps', 'xml', 'xps1', 'xps2' 等
out_dir: './path/output', // 輸出目錄
out_prefix: 'outputImg', // 輸出文件的前綴
page: null // 要轉(zhuǎn)換的頁碼,可以是具體的頁碼或者一個頁碼范圍,例如 [1, 3, 5] 或者 '1-5'
};
// 轉(zhuǎn)換PDF為圖片
pdf.convert(pdfFilePath, opts)
.then(res => {
console.log('Successfully converted:', res);
// res 是一個包含轉(zhuǎn)換后圖片文件路徑的數(shù)組
// 例如:['./output/output-1.jpeg', './output/output-2.jpeg']
})
.catch(error => {
console.error('Error converting PDF to images:', error);
});
圖片轉(zhuǎn)PDF
效果圖如下

代碼:
const PDFDocument = require('pdfkit');
const fs = require('fs');
const path = require('path');
// 創(chuàng)建一個PDF文檔
const doc = new PDFDocument();
// 設(shè)置文檔元數(shù)據(jù)(可選)
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, // 設(shè)置圖片寬度
height: 300, // 設(shè)置圖片高度
fit: [500, 300] // 或者使用fit來適應(yīng)指定尺寸
});
// 結(jié)束文檔并關(guān)閉流
doc.end();
outputStream.on('finish', () => {
console.log('PDF生成完成');
});
outputStream.on('error', (err) => {
console.error('PDF生成出錯:', err);
});總結(jié)
到此這篇關(guān)于node.js實現(xiàn)pdf與圖片互轉(zhuǎn)的文章就介紹到這了,更多相關(guān)nodejs pdf與圖片互轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Windows平臺升級Node.js詳細(xì)步驟及注意事項
Node.js是一個開源、跨平臺的JavaScript運行環(huán)境,它讓開發(fā)者可以在服務(wù)器端執(zhí)行JavaScript代碼,這篇文章主要介紹了Windows平臺升級Node.js詳細(xì)步驟及注意事項的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-05-05
package-lock.json解決依賴的版本管理使用詳解
這篇文章主要為大家介紹了package-lock.json解決依賴的版本管理使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
詳解nodejs微信公眾號開發(fā)——3.封裝消息響應(yīng)模塊
上一篇文章:nodejs微信公眾號開發(fā)(2)自動回復(fù),實現(xiàn)了簡單的關(guān)注回復(fù)。采用拼接字符串的形式,并不是很方便,這里我們將其封裝承接口。2017-04-04

