Любой модуль node.js будет использовать ImageMagick или GraphicsMagick, поэтому вам нужны эти двоичные файлы на вашем $PATH
. Если вы используете OSX, убедитесь, что у вас есть менеджер пакетов brew , а затем запустите:
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 вы должны иметь две команды: tiffcp
и tiffsplit
.
Иногда неправильное сжатие вызывает сбой, который вы видите. Используйте tiffcp -c none orig.tif fixed.tif
для удаления проблемного сжатия. Затем запустите tiffsplit fixed.tif prefixForSplitFile-
, и вы должны получить несколько файлов в несколько страниц.
Наконец, для преобразования в форматы вне PNG и для более сложной обработки изображений с помощью Image / GraphicsMagick с использованием node.js установите модуль gm , который может выполнять все вышеперечисленные команды из файла node.js.