Ghostscript конвертирует PDF в большой TIFF

Я хочу изменить размер PDF-файла в формат TIFF с помощью Ghostscript. Мы используем в качестве входных данных PDF / X-3, который имеет ограничение в 5 метров по длине или высоте.

В результате я хочу иметь tiff - файл с правильными размерами и конечным разрешением 200 точек на дюйм.

Масштабируя это до большего формата, такого как bigtiff (например):

gs -sDEVICE=tiff32nc -dNumRenderingThreads=6 -dNOPAUSE -dBATCH -dSAFER \
   -dPDFFitPage -r2000 -dUseCropBox -dUseBigTiff       \
   -sOutputFile=example.tiff test.pdf 

Редактировать отсюда: мой первый результат - файл с разрешением 2000 dpi

Так же, как уловка для масштабирования до правильных пикселей, я затем изменяю его на 200DPI с помощью exiftool:

exiftool -ResolutionUnit="inch" -xResolution="200" -yResolution="200" example.tiff 

Тогда у меня есть результирующий tiff с разрешением 200 точек на дюйм и размером в 72/200 раз больше, чем я ожидал.

Чтобы убедиться, что мой результат имеет реальный ожидаемый формат, я затем конвертирую его в рассчитанный формат:

convert example.tiff -depth 8 -resize 70866x15748\! temp-1.tiff

Это лучший способ достичь цели?

Основные шаги:

  1. Преобразование разрешения изображения в окончательный размер
  2. Измените его размер до целевого размера и окончательного разрешения 200 точек на дюйм.

РЕДАКТИРОВАТЬ 1: Цель состоит в том, чтобы масштабировать изображение в несколько раз с оптимальными результатами. Проблема в том, что клиенты доставляют туда данные в формате PDF и хотят, чтобы файл был напечатан в 10 раз больше. Поэтому мы должны масштабировать его до этих размеров. Фактор 10 - это максимум, который мы делаем здесь. НАПРИМЕР. Заказчик хочет, чтобы баннер был напечатан шириной 6 м на высоту 2 м. В основном они поставляют файлы в векторном формате 600 мм на 200 мм. Поэтому я стараюсь масштабировать их до нужных размеров в пакетном процессе.

РЕДАКТИРОВАТЬ 2: я обновил вопрос до фактического статуса


person CiTNOH    schedule 26.06.2015    source источник
comment
Это также приводит к снижению качества. Что выводит identify -ping /tmp/temp-1.tiff ??   -  person Kurt Pfeifle    schedule 26.06.2015
comment
Он выдает /tmp/temp-1.temp.tiff TIFF 70866x15748 70866x15748+0+0 8-bit DirectClass 39.39MB 0.000u 0:00.030, что верно для DPI 200. Все же качество здесь не самое лучшее.   -  person CiTNOH    schedule 30.06.2015


Ответы (1)


Ваша попытка создать TIFF с шириной 708662 и высотой 157480 пикселя безумна!

Небольшой расчет должен сказать вам, что это ~ 104 гигапикселя!

Учитывая, что вы также запросили вывод tiff32nc, для этого требуется 32 бита (4 байта) на пиксель (8 бит для каждого из запрошенных каналов CMYK).

Есть ли у вас даже 416 Гигабайт на жестком диске в этой системе, не говоря уже о 416 Гигабайт ОЗУ?!? (Надеюсь, вы не используете 32-битную систему .. .) Как вы собираетесь обрабатывать этот файл для дальнейшей обработки, если вам действительно удалось его сгенерировать?!? Какая программа для обработки графики / изображений вообще начнет его открывать?!?


Вкратце: я совсем не удивлен, что вы сталкиваетесь с проблемами, когда пытаетесь заставить Ghostscript создать такого монстра!

(Также: не используйте -rXXX, когда вы также используете -gNNNxMMM. -gNNNxMMM уже устанавливает абсолютные размеры изображения в пикселях - одновременная установка -rXXX бесполезна.)

(Да, я знаю: файлы TIFF обычно сжимаются. Таким образом, мой приведенный выше расчет вводил в заблуждение. Специально ... Однако при чтении сжатого файла TIFF с диска его необходимо расширить в памяти, чтобы отобразить его. ...)

person Kurt Pfeifle    schedule 26.06.2015
comment
Быстрый расчет показывает, что 708662x157480 пикселей при 2000 dpi дает изображение шириной 354 дюйма и высотой 78 дюймов. Хотя это не редкость для вывесок для таких больших (или более крупных), никто не отображает вывески с разрешением 2000 dpi, это возможно при разрешении типа глянцевой книги для журнального столика. Возможно, CiTNOH сможет объяснить, чего он пытается достичь, и мы сможем помочь лучше. - person KenS; 26.06.2015
comment
Я знаю, что это, в первую очередь, звучит излишне, но цель состоит в том, чтобы масштабировать изображение в 10 раз с оптимальными результатами. Проблема в том, что клиенты доставляют туда данные в формате PDF и хотят, чтобы файл был напечатан в 10 раз больше. Поэтому мы должны масштабировать его до этих размеров. Фактор 10 - это максимум, который мы делаем здесь. Я обновил свой вопрос до текущего состояния - person CiTNOH; 30.06.2015