首页 > 解决方案 > 如何在 Node.js 中以像素为单位获取 PDF 尺寸?

问题描述

我试过pdf2json:

const PDFParser = require("pdf2json");
let pdfParser = new PDFParser();

pdfParser.loadPDF("./30x40.pdf"); // ex: ./abc.pdf

pdfParser.on("pdfParser_dataReady", pdfData => {
  width = pdfData.formImage.Width; // pdf width
  height = pdfData.formImage.Pages[0].Height; // page height

  console.log(`Height : ${height}`) // logs 70.866
  console.log(`Width : ${width}`) // logs 53.15
});

但它给出了未知单位的尺寸!

以像素为单位的尺寸将帮助我将它们包含在将 pdf 文件转换为图像的 pdf-poppler 模块中,并且它需要以像素为单位的 pdf 文件高度。

标签: node.jspdfpdf2json

解决方案


试试卡尺。代码示例:

const Calipers = require('calipers')('png', 'pdf');
Calipers.measure('./30x40.pdf')
.then(data => {
  const { width, height } = data.pages[0];
});

或者,尝试一个无需宽度/高度即可转换它的模块: pdf2pic pdf-image node-imagemagick 如果您准备使用 pdf2json,请阅读描述输出单位的文档。


推荐阅读