如何将 TIFF 堆栈分成多个 PNG 或一个 PDF?

如何将 TIFF 堆栈分成多个 PNG 或一个 PDF?

我在图书馆扫描旧报纸文章的页面,微缩胶片扫描仪生成了一个 TIFF 堆栈。现在我回到家了,我以为这会更容易,但看不到第 0 帧之后的任何内容。有没有办法使用命令行转换来分离所有图像?运行转换时崩溃了。

jonathan@weinraub:~$ convert nyt_1980_12_30.tif nyt%d.png
Killed

2016-03-11T09:32:32-05:00 0:04.850 4.420u 6.8.9 Resource convert[1699]: resource.c/AcquireMagickResource/279/Resource Area: 119MB/119MB/4.2005GB 2016-03-11T09:32:32-05:00 0:04.850 4.420u 6.8.9 Resource convert[1699]: resource.c/AcquireMagickResource/279/Resource Memory: 119MB/1.1085GiB/1.956GiB 2016-03-11T09:32:32-05:00 0:04.850 4.420u 6.8.9 Cache convert[1699]: cache.c/OpenPixelCache/3606/Cache open nyt_1980_12_30.tif[9] (Heap Memory, 3400x4376 113.5MiB) 2016-03-11T09:32:32-05:00 0:04.850 4.420u 6.8.9 Resource convert[1699]: resource.c/AcquireMagickResource/279/Resource Memory: 59.51MB/1.164GiB/1.956GiB 2016-03-11T09:32:32-05:00 0:04.850 4.420u 6.8.9 Exception convert[1699]: tiff.c/TIFFWarnings/861/Exception Depreciated and troublesome old-style JPEG compression mode, please convert to new-style JPEG compression and notify vendor of writing software. OJPEGSetupDecode' Killed

jonathan@weinraub:~$ which convert
/usr/bin/convert
jonathan@weinraub:~$ convert
Version: ImageMagick 6.8.9-9 Q16 x86_64 2015-01-05     http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl     lzma openexr pangocairo png tiff wmf x xml zlib

Usage: convert [options ...] file [ [options ...] file ...] [options ...] file

有趣的是,我尝试在我的 RHEL 服务器上运行,但出现了不同的错误并且失败了:

更新:

16:55:40 0:36 34.100u 6.2.8 Cache convert[27230]: cache.c/DestroyCacheInfo/1763/Cache destroy nyt_1980_12_30.tif[10] 16:55:40 0:36 34.120u 6.2.8 Resource convert[27230]: resource.c/RelinquishMagickResource/801/Resource Memory: 1.1e+02mb/1.1e+02mb/5.9gb 16:55:40 0:36 34.120u 6.2.8 Cache convert[27230]: cache.c/DestroyCacheInfo/1763/Cache destroy nyt_1980_12_30.tif[11] 16:55:40 0:36 34.150u 6.2.8 Resource convert[27230]: resource.c/RelinquishMagickResource/801/Resource Memory: 1.1e+02mb/0/5.9gb 16:55:40 0:36 34.150u 6.2.8 Cache convert[27230]: cache.c/DestroyCacheInfo/1763/Cache destroy nyt_1980_12_30.tif[12] convert: nyt_1980_12_30.tif: unknown field with tag 512 (0x200) encountered. TIFFReadDirectory'. convert: nyt_1980_12_30.tif: unknown field with tag 513 (0x201) encountered. TIFFReadDirectory'. convert: nyt_1980_12_30.tif: unknown field with tag 514 (0x202) encountered. TIFFReadDirectory'. convert: nyt_1980_12_30.tif: unknown field with tag 519 (0x207) encountered. TIFFReadDirectory'. convert: nyt_1980_12_30.tif: unknown field with tag 520 (0x208) encountered. TIFFReadDirectory'.

我在工作时在 Windows 中使用 Ifranview,最后成功转换。但是,我想知道为什么现在在 Debian 和 RHEL 两个系统上,它都失败了。

答案1

假设 TIFF 文件无法通过 imagemagick 分割,因为使用的压缩格式是过时的 jpeg

假设有一个像 Debian 或 Ubuntu 这样的平台

使用提供该实用程序的 libtiff-tools 包tiffsplit

sudo apt-get install libtiff-tools
tiffsplit problematicfile.tif file

编辑

JPEG 是 TIFF 支持的一种压缩。Imagemagick 似乎有时会遇到问题。如果分割文件仍然有问题,则可以使用不同的 libtiff 工具更改压缩,tiffcp该工具可以使用其 -c 开关使用其他几种压缩类型之一

tiffcp -c lzw jpegedfile.tif  lzwedfile.tif

通过评论推广 (@Mint)

有关压缩有时会失败的原因的技术说明

答案2

如何在 Windows 上拆分多页 TIFF 文件?

但使用转换来制作 PNG

convert multipage.tif single%d.png

相关内容