2017-01-25 129 views
0

我必须将多个tiff转换为PNG。例如包含3页的tiff,我应该将其转换为3 png's.因此,我使用了tiff-to-png模块,并遇到了这个问题。 错误:命令失败:转换/tiffs/one.tiff -scene 1 ./png/one/page%d.png 无效参数 -/TIFF格式 .Bellow是我的代码Tiff转换为PNG节点js

'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参数。

tiffs位置是conatin我的tiff文件的变量。

位置是变量,其中包含文件夹路径将被转换为png文件。

我不明白为什么我得到了这个错误,在这种情况下,tiffs是包含我的tiff文件的目录,为什么我有这个错误。任何想法?

+0

该套餐使用绝对路径的所有例子,也许这就是问题所在。您可以使用[path.resolve](https://nodejs.org/api/path.html#path_path_resolve_paths)将相对路径转换为绝对路径 – Creynders

回答

2

首先你必须安装 “imagemagick

  1. 窗户,你会发现.exe文件。保持它在你的心中,关于安装时间,勾选 “安装传统实用程序(例如:转换)”

  2. 对于Ubuntu的:

sudo apt install imagemagick

  • 对于美分OS:
  • 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')); 
    });