【问题标题】:Is there a way to split a multipage .TIFF file into multiple PNG/JPG files using the sharp node.js module?有没有办法使用Sharp node.js 模块将多页.TIFF 文件拆分为多个PNG/JPG 文件?
【发布时间】:2021-06-13 15:28:04
【问题描述】:

我有一个包含多个页面的 .tiff 文件,并且想将文件拆分为多个 .png 或 .jpg 文件(一页变成一个 png/jpg 图像)。由于我的代码库的性质,我不希望使用 ImageMagick 或 GraphicsMagick(我无法安装 CLI 工具)。

我想知道是否有办法这样做?我知道 sharp 可以从 .tiff 文件中检索元数据,该文件向我显示文件中的页数。是否会遵循以下工作:

const tiffImage = sharp(tiffFileName).raw().toBuffer();
const metadata = await tiffImage.metadata().then(function(metadata) {
  pages: metadata.pages,
  pageHeight: metadata.pageHeight
});
for (let i = 0; i < metadata.pages; i++) {
  // split tiff file using the pageHeight? lets call this bufferOfOnePage
  sharp(bufferOfOnePage).png().toFile(PNG_OUTPUT_NAME);
}

【问题讨论】:

    标签: javascript node.js image tiff sharp


    【解决方案1】:

    是的,你可以在sharp的选项中传递page

    options.page number 为多页输入(GIF、WebP、AVIF、TIFF、PDF)开始提取的页码,从零开始。 (可选,默认0)

        sharp(bufferOfOnePage, {page: i}).png().toFile(PNG_OUTPUT_NAME);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多