модуль node.js, который преобразует многостраничные изображения TIFF - PullRequest
0 голосов
/ 10 января 2019

Существует ли какой-либо инструмент для преобразования многостраничных файлов TIFF в JPG, PNG..etc?

Я использовал sharp, модуль из node.js для преобразования изображений в формате TIFF в нужные мне форматы. Но кажется, что он не может конвертировать эти файлы TIFF со сжатыми несколькими страницами (он конвертирует только первую страницу)

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Любой модуль 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.

0 голосов
/ 10 января 2019

Лучшим модулем является imagemagick http://www.imagemagick.org/script/index.php. Вы можете использовать это для большинства преобразований / преобразований изображений,

В командной строке просто введите ...

npm install imagemagick
npm install tiff-to-png
...