【问题标题】:Tiff convert to png Node jsTiff 转换为 png 节点 js
【发布时间】:2017-06-10 17:32:48
【问题描述】:

我必须将多个 tiff 转换为 png。例如包含 3 个页面的 tiff,我应该转换为 3 个 png。所以我正在使用 tiff-to-png 模块,我遇到了这个问题。 错误:命令失败:转换 /tiffs/one.tiff -scene 1 ./png/one/page%d.png 无效参数 - /tiffs。下面是我的代码

'use strict'

const tiff_to_png=require('tiff-to-png');

const options={
  logLevel:1
};

const converter=new tiff_to_png(options);

const tiffsLocation=['./tiffs/one.tiff'];
const location='./png';

converter.convertArray(tiffsLocation,location);

在错误上下文中我们看到 -/tiffs inavliiad 参数。

tiffsLocation 是包含在我的 tiff 文件中的变量。

location 是变量,其中包含将转换为 png 文件的文件夹的路径。

我不明白为什么会出现这个错误,在这种情况下,tiffs 是包含我的 tiff 文件的目录,为什么我会出现这个错误。有什么想法吗?

【问题讨论】:

  • 该包的所有示例都使用绝对路径,也许这就是问题所在。您可以使用 path.resolve 将相对路径转换为绝对路径

标签: node.js png tiff imagemagick-convert


【解决方案1】:

第一个你必须安装“Imagemagick”

  1. 对于 Windows,您会找到 .exe 文件。请记住,在安装时,请选中“安装旧版实用程序(例如:转换)”

  2. 对于 Ubuntu:

sudo apt install imagemagick

  1. 对于 Cent 操作系统:

sudo yum install ImageMagick

var fs=require('fs');
var spawn = require('child_process').spawn;
//ifile: Tiff Absolute File Path
//ofile: PNG Absolute File Path (e.g: var ofile = APP_ROOT_PATH+'/data/files/png/sample.png';)
var tiff2png = spawn('convert', [ifile, ofile]);
tiff2png.stdout.on('data', function (data) {
    console.log('stdout: ' + data);
});
tiff2png.stderr.on('data', function (data) {
    return res.json(Utility.output('Unable to convert tiff to png','ERROR'));
    console.log('stderr: ' + data);
});
tiff2png.on('close', function (code) {
    /**Check Your Converted file exist or not. If exist then Converted**/
    console.log('Close: ' + data);
});
tiff2png.on('error', function (code) {
    return res.json(Utility.output('ERROR: Unable to convert tiff to png','ERROR'));
});

【讨论】:

    【解决方案2】:

    我找到了 2 个这样做的库:

    最后我选择了尖锐,因为 jimp 无法处理 16 位图像

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 2017-02-13
      • 2013-08-09
      • 2013-10-31
      • 2020-05-16
      • 1970-01-01
      相关资源
      最近更新 更多