Home > Article > Web Front-end > nodejs pdf to image
Node.js is an open source platform for running JavaScript. It can run JavaScript code on the server side. It has become the first choice of many developers due to its efficiency and scalability. In Node.js, there are some very powerful packages and libraries that can easily implement various functions. Among them, the function we introduce today is how to convert PDF files into images, and the packages involved are pdf-poppler
and gm
.
Before converting PDF to image, you need to install the following environment:
Next, we first install the necessary two packages, open the terminal, and run the following command in the project directory:
npm install pdf-poppler gm --save
After the installation is complete, we can start using these two packages to implement the function of converting PDF to images.
The process of converting PDF files to images is as follows:
The specific implementation steps and sample code are given below.
const pdfPoppler = require('pdf-poppler'); const pdfPath = './example.pdf'; const opts = { format: 'jpeg', out_dir: './tmp', out_prefix: 'converted', page: null }; pdfPoppler.convert(pdfPath, opts) .then(() => { console.log('PDF转换完成'); }) .catch((err) => { console.error(err); });
Code explanation:
const gm = require('gm').subClass({imageMagick: true}); const imageMagick = gm.subClass({imageMagick: true}); const path = require('path'); const fs = require('fs'); const PDFImage = require('pdf-image').PDFImage; const pdfPath = './example.pdf'; const pdfImage = new PDFImage(pdfPath); pdfImage.convertPage(0).then(function (imagePath) { const filePath = path.join('./tmp', 'converted-0.jpg'); // 处理图片 imageMagick(imagePath) //.... .write(filePath, function (err) { if (!err) { console.log('图片生成成功'); } }); }).catch(function (err) { console.error(err); });
is used Image Processing. The
and
fs modules are used for file reading and path processing.
module can be used to convert PDF files to images.
method is used to convert PDF pages to images.
imageMagick(imagePath) .resize(800) .quality(90) .write(filePath, function (err) { if (!err) { console.log('图片生成成功'); } });
method is used to resize the image.
method is used to adjust the image quality.
const pdfPoppler = require('pdf-poppler'); const gm = require('gm').subClass({imageMagick: true}); const imageMagick = gm.subClass({imageMagick: true}); const path = require('path'); const fs = require('fs'); const PDFImage = require('pdf-image').PDFImage; const pdfPath = './example.pdf'; const opts = { format: 'jpeg', out_dir: './tmp', out_prefix: 'converted', page: null }; pdfPoppler.convert(pdfPath, opts) .then(() => { console.log('PDF转换完成'); const pdfImage = new PDFImage(pdfPath); pdfImage.convertPage(0).then(function (imagePath) { const filePath = path.join('./tmp', 'converted-0.jpg'); imageMagick(imagePath) .resize(800) .quality(90) .write(filePath, function (err) { if (!err) { console.log('图片生成成功'); } }); }).catch(function (err) { console.error(err); }); }) .catch((err) => { console.error(err); });SummaryIn this article, we introduced how to convert PDF files to JPEG format images using Node.js . The specific implementation process includes three steps: reading PDF files, converting PDF files into images, and processing images. The function of converting PDF to images is needed in many business scenarios, such as electronic document management, online reading, etc. I hope this article can be helpful to you. If you still have questions or are interested in other Node.js development topics, please leave a message to communicate!
The above is the detailed content of nodejs pdf to image. For more information, please follow other related articles on the PHP Chinese website!