使用pdf2pic包在Node.js中将PDF页面转换为图像

5kgi1eie  于 5个月前  发布在  Node.js
关注(0)|答案(1)|浏览(120)

我正在尝试使用pdf2pic模块将PDF页面转换为图像。

import { fromPath } from "pdf2pic";

const options = {
  density: 700,
  saveFilename: "output_img",
  savePath: "./images",
  format: "jpeg",
  width: 2480,
  height: 3508,
};
const convert = fromPath("/path/to/pdf/sample.pdf", options);
const pageToConvertAsImage = 1;

convert(pageToConvertAsImage, { responseType: "image" })
  .then((resolve) => {
    console.log("Page 1 is now converted as image");
return resolve;
  });

字符串

上述代码可以很好地转换单个图像,但我需要将整个PDF转换为图像。

apeeds0o

apeeds0o1#

你可以使用一个循环来遍历PDF的所有页面。试试这样做,

const options = {
  ...
}

...

const totalNumberOfPages = 10 // adjust according to number of pages in your PDF

// create an array of page numbers from 1 to the total number of pages
const pageNumbers = Array.from({ length: totalNumberOfPages }, (_, i) => i + 1)

// function to convert a single page
const convertPage = (pageNumber) => {
  return convert(pageNumber, { responseType: "image" })
    .then(() => {
      console.log(`Page ${pageNumber} is now converted as an image`)
    })
}

// Use Promise.all to convert all pages concurrently
Promise.all(pageNumbers.map(convertPage))
  .then(() => {
    console.log("All pages are converted successfully")
  })
  .catch((error) => {
    console.error("Error converting pages:", error)
  })

字符串

相关问题