โมดูล node.js ที่แปลงอิมเมจ TIFF หลายหน้า

มีเครื่องมือใดบ้างในการแปลงไฟล์ TIFF หลายหน้าเป็น JPG,PNG.. ฯลฯ

ฉันใช้โมดูล Sharp จาก node.js เพื่อแปลงภาพ TIFF เป็นรูปแบบที่ฉันต้องการ แต่ดูเหมือนว่าจะไม่สามารถแปลงไฟล์ TIFF ไฟล์เดียวเหล่านั้นโดยบีบอัดหลายหน้าได้ (จะแปลงเฉพาะหน้าแรก)


person weily huang    schedule 10.01.2019    source แหล่งที่มา
comment
TIFF แบบหลายหน้า   -  person lloyd    schedule 10.01.2019


คำตอบ (2)


โมดูล node.js ใดๆ จะใช้ ImageMagick หรือ GraphicsMagick ข้างใต้ ดังนั้นคุณจึงจำเป็นต้องมีไฟล์ไบนารีเหล่านี้ใน $PATH ของคุณ หากคุณใช้ OSX ตรวจสอบให้แน่ใจว่าคุณมี brew package manager จากนั้นจึงเรียกใช้:

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- และคุณควรได้รับหลายไฟล์ใน TIFF แบบหลายหน้า

สุดท้ายนี้ สำหรับการแปลงเป็นรูปแบบภายนอก PNG และสำหรับการประมวลผลภาพขั้นสูงด้วย Image/GraphicsMagick โดยใช้ node.js ให้ติดตั้ง gm โมดูลซึ่งสามารถเรียกใช้คำสั่งข้างต้นทั้งหมดจาก node.js

person adamrights    schedule 10.01.2019