2017-01-25 68 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')); 
    });