Как я могу программно создать многостраничный TIFF из множества одностраничных TIFF с помощью Python?

Я нашел через Google множество людей, задающих один и тот же вопрос, но без решений. В библиотеке изображений Python (PIL) есть инструменты для просмотра уже существующего многостраничного TIFF, но ничего об их создании.

Мы надеемся, что библиотеки будут доступны в Windows для Python 2.6.

Если есть какое-то бесплатное программное обеспечение, которое справится с этой задачей, я был бы не против его увидеть, но я надеялся, что смогу сделать это на Python.


person MetaHyperBolic    schedule 26.05.2010    source источник


Ответы (3)


Бесплатный вариант: Irfanview это можно сделать даже через командную строку; это позволяет вам вызывать его из Python.

Из изменений версии 3.90:

Новая опция командной строки:

/multitif=(tifname,file1,...,fileN) 

Пример создания многостраничного TIF test.tif из двух других файлов:

i_view32 /multitif=(c:\test.tif,c:\test1.bmp,c:\dummy.jpg) 

Новая опция командной строки:

/append=tiffile 

Пример открытия c:\test.jpg и добавления его в виде страницы (TIF) к c:\test.tif

i_view32 c:\test.jpg /append=c:\test.tif 

Я использовал его один раз и знаю, что он работает, хотя применяются ограничения на длину командной строки.

person Adriaan    schedule 02.06.2010
comment
+1 за упоминание ограничения длины командной строки - в любом случае командная строка станет неудобной - например, для 700+ изображений. также я помню, что у меня была проблема с всплывающим окном графического интерфейса IrfanView на каждом изображении - я не уверен, что это все еще происходит - person hello_earth; 06.11.2012
comment
@hello_earth Используйте переключатели /killmesoftly /silent, чтобы графический интерфейс не отображался. - person Crackerjack; 12.06.2013

Для этого вы можете использовать ImageMagick (доступно в Unix и Windows). Команда оболочки Linux будет

$ convert *.tif multipage.tif

где *.tif — все ваши отдельные файлы tif.

person Balthazar Rouberol    schedule 30.08.2012

вы можете использовать командную утилиту "tiffutil"

person P-Rod    schedule 19.10.2012