一个可以转换多页tiff图像的node.js模块

时间:2019-01-10 07:51:26

标签: node.js tiff

有没有可用的工具可将多页tiff文件转换为JPG,PNG..etc?

我当时使用的是Sharp.node.js中的一个模块,可将tiff图像转换为所需的格式。但似乎无法转换压缩了多个页面的单个tiff文件(仅转换第一页)

2 个答案:

答案 0 :(得分:0)

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

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

@DBRef
private Set<Role> roles; // with getters and setters

答案 1 :(得分:0)

任何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运行以上命令。