2015-05-22 4 views
1

Я хотел бы преобразовать некоторые вещи в пару форматов файлов. Я начал с simlpe много вывода, таких как:ImageMagick конвертировать в psd - размер файла слишком большой

convert .... \ 
... 
-write path/file.pdf \ 
-write path/file.psd \ 
path/file.png 

Он генерирует три файла, но размер из них являются:

pdf - 2.3MB 
psd - 12 MB 
png - 181 kB 

Я сделал несколько тестов, и оказалось, что тот же выход в формате PDF Я получу, выполнив преобразование снова на png, но тогда размер будет 76kB!:

convert file.png file.pdf 

А теперь я ищу какой-нибудь способ, чтобы достичь меньшего размера для Фотошопа файла. Надеюсь, есть какой-то способ ;-)

EDIT:

Я попытался это до сих пор:

  • добавил -depth 8 - это reducud размер для 6MB
  • добавил сжатие compress RLE - то размер усаживается до 3.2MB

У меня все еще есть надежда, что есть что-то еще, что я могу сделать ;-)

ответ

0

Когда вы пишете PDF или PSD-файл, вы будете писать несколько изображений, потому что они поддерживают страницы/слои. Но когда вы конвертируете PNG в PDF-файл, результат будет содержать только одну страницу/слой, и в итоге вы получите меньший файл.

Если вы хотите сохранить первую страницу или слой вы должны сделать следующее после прочтения изображения:

-delete 1--1 

Это удалит все изображения от 1 до -1. Индекс -1 является псевдонимом для последней страницы/уровня. Поэтому, когда вы читаете одно изображение, это переведет на 1 - 0 (первая страница/слой равна нулю) и ничего не сделает. Если у вас есть файл с 5 страницами/слоями, он переведёт на 1 - 4 и удалит последние 4 изображения.

Также возможно, что ваши входные файлы содержат много метаданных. Вы можете добавить -strip к своей команде, чтобы удалить это.

+0

Я вижу вашу точку зрения, но это не тот случай. Я конвертирую плоское изображение во все форматы, поэтому слоев нет. – eldi

+0

Я обновил ответ, возможно, вы захотите добавить некоторый файл в качестве примера для своего сообщения. – dlemstra

+0

Я не думаю, что это так. Я на самом деле делал файлы шаблонов для клиентов: программно добавил текст и рисовал несколько строк, добавлял только одно изображение с логотипом, но я только что протестировал его, и размер почти не изменился. Я также попробовал опцию '-strip'. Я боюсь, что это из-за плохой реализации сжатия RLE, как указано на этом форуме: http://www.imagemagick.org/discourse-server/viewtopic.php?t=23662 – eldi