【问题标题】:a node.js module that converts multipage tiff images一个转换多页 tiff 图像的 node.js 模块
【发布时间】:2019-06-05 01:11:33
【问题描述】:

是否有任何工具可以将多页 tiff 文件转换为 JPG、PNG..等?

我正在使用来自 node.js 的一个模块 sharp 将 tiff 图像转换为我想要的格式。但它似乎无法转换那些压缩了多个页面的单个 tiff 文件(它只转换第一页)

【问题讨论】:

标签: node.js tiff


【解决方案1】:

任何 node.js 模块都将在下面使用 ImageMagick 或 GraphicsMagick,因此您需要 $PATH 上的这些二进制文件。如果您使用的是 OSX,请确保您拥有 brew package manager,然后运行:

brew install imagemagick
brew install graphicsmagick

现在,您可以安装一个简单的 node.js 模块 tiff-to-png

$ npm install tiff-to-png

然后编写一个简单的脚本,如下所示:

const ConvertTiff = require('tiff-to-png');
const glob = require('glob');

// cwd option sets the current-working-directory
// that tiff-to-png runs from.
let options = {
  cwd: '/path/to/rootDir/of/tiffs'
};

let location = '/path/to/output/pictures';
let converter = new ConvertTiff(options);

// for Files
let forFiles = (err, files) => {
  if (err) console.log(err);
  converter.convertArray(files, location);
};

// glob it.
glob('**/*.tif', options, forFiles);

现在,如果您的多页 tif 文件未正确拆分。安装 imagemagick 和 graphicsmagick 库后,您应该有两个命令:tiffcptiffsplit

有时是不正确的压缩导致您看到的失败。使用tiffcp -c none orig.tif fixed.tif 消除麻烦的压缩。然后运行tiffsplit fixed.tif prefixForSplitFile-,您应该在多页 tiff 中获得多个文件。

最后,为了转换为 PNG 以外的格式,以及使用 node.js 使用 Image/GraphicsMagick 进行更高级的图像处理,安装 gm 模块,它可以从 node.js 运行上述命令。

【讨论】:

    【解决方案2】:

    最好的模块是 imagemagick http://www.imagemagick.org/script/index.php。您可以使用它来进行大多数图像翻译/转换,

    在命令提示符下,只需键入 ...

    npm install imagemagick
    npm install tiff-to-png
    

    【讨论】:

    • 他要一个 node.js 模块。
    • 如果您编辑答案,我将删除。除非答案改变,否则我无法做到。 Imagemagick 是一个命令行二进制文件,但他要求的是 nodejs 特定的模块。
    • 答案现在改变了
    猜你喜欢
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多