Я пишу небольшое приложение для преобразования нескольких многостраничных PDF-файлов в многостраничные файлы TIFF. Что касается других вопросов и ответов на этом сайте, я пробовал и ghostscript, и ImageMagick, однако обе части программного обеспечения скрывают только первую страницу, когда я их запускаю. Есть ли другие инструменты, которые я могу использовать для этого, желательно с открытым исходным кодом?
Инструменты для преобразования многостраничного PDF в многостраничный TIFF
Ответы (2)
На самом деле Ghostscript может конвертировать многостраничный PDF в многостраничный TIFF. Просто убедитесь, что у вас установлена довольно свежая версия Ghostscript. Будьте осторожны при просмотре полученного TIFF, так как ваше средство просмотра может не отображать все страницы TIFF или может быть неясно, как перейти к последующим страницам TIFF.
Рассмотрим следующие 3 команды:
gs \
-o multipage-tiffg4.tif \
-sDEVICE=tiffg4 \
multipage-input.pdf
и
gs \
-o multipage-tiff24nc.tif \
-sDEVICE=tiff24nc \
multipage-input.pdf
и
gs \
-o multipage-tiff32nc.tif \
-sDEVICE=tiff32nc \
multipage-input.pdf
Каждая из этих команд создает многостраничный TIFF, но с разными устройствами вывода:
- Формат tiffg4 имеет оттенки серого и использует разрешение 204 x 196 dpi (согласно требованиям стандарта факсимильной связи TIFF G4).
- tiff24nc имеет цвет RGB (с 8 битами на компонент цвета) и использует разрешение 72 x 72 dpi.
- tiff32nc — в цвете CMYK (8 бит на цвет) с разрешением 72 dpi.
По ссылке выше есть ряд дополнительных устройств вывода для TIFF.
Все значения разрешения для файлов TIFF являются результатом настроек Ghostscript по умолчанию. Если вы хотите переопределить их, например, потому что вам требуется 600 dpi на 600 dpi, просто добавьте
-r600x600
к любой из вышеперечисленных командных строк.
Чтобы доказать, что у вас есть многостраничные файлы TIFF, используйте следующую команду:
identify multipage-tiff*.tif
(identify
— это команда из пакета ImageMagick, который вы, похоже, все равно установили.) В результате вы должны увидеть несколько строк для каждого из файлов *.tif, где каждая строка представляет 1 страницу соответствующего файла *.tif. .
Я подозреваю, что это, возможно, сработало для вас - вы просто не смогли распознать несколько страниц в полученных TIFF. Не все средства просмотра TIFF могут отображать их — они отображают первую страницу только в том случае, если не могут иначе, что могло ввести вас в заблуждение.
Вы также можете использовать расширение Imagick php, если хотите сделать это в php вместо bash-скрипта.