«Я не совсем уверен, подходит ли параметр качества для PNG.»
Для вывода PNG настройка -quality
очень отличаетсяПараметр качества JPEG (который представляет собой целое число от 0
до 100
).
Для PNG он состоит из двух отдельных цифр:
Первая цифра(десятки) - (в основном) уровень сжатия zlib , и он может изменяться от 0
до 9
.
(Однако настройка 0
имеет особое значение:когда вы используете его, вы получите сжатие Хаффмана, а не уровень сжатия zlib 0. Это часто лучше ... Странно, но верно.)
Вторая цифра - Тип фильтра кодирования данных PNG (до его сжатия):
- 0 - нет,
- 1 - это "sub",
- 2 - это«вверх»,
- 3 - «средний»,
- 4 - «Паэт», а
- 5 - «адаптивный».
На практике это означает:
- Для иллюстраций со сплошными цветными последовательностями обычно наиболее подходящим является фильтр «none» (
-quality 00
). - Для фотографий природных ландшафтов обычно лучше использовать «адаптивную» фильтрацию (
-quality 05
).
"У меня проблемы с сохранением в PDF.Некоторые файлы имеют неправильный размер страницы, и я пробовал каждую команду и процедуру, которую я могу найти [...], но либо несколько страниц имеют ширину около 2 ", либо они имеют размер 8,5x11, но остальные35 "в ширину".
Не имея ваших PNG-файлов, я создал несколько простых файлов с разными размерами для проверки разных команд (поскольку я сам больше не был уверен).Действительно, тот, который вы использовали:
convert -page letter -adjoin single*.png multipage.pdf
действительно создает все страницы PDF с (одинаковым) размером букв, но он помещает мой образец PNG (разных размеров) всегда в нижний левый угол страницы PDF.(Если PNG превышает размер страницы PDF, он уменьшает их размер, чтобы подогнать их по размеру, но не увеличивает PNG меньшего размера, чтобы заполнить доступное пространство страницы.)
Следующая модификация командыпоместит PNG в центр каждой страницы PDF:
convert \
-page letter \
-adjoin \
single*.png \
-gravity center \
multipage.pdf
Если это все еще недостаточно для вас, вы можете применить (возможно, непропорционально!) масштабирование, чтобы почти заполнить буквуr область, добавив параметр -scale '590!x770!'
(это оставит границу в 11 пунктов на каждом краю страницы):
convert \
-page letter \
-adjoin \
single*.png \
-gravity center \
-scale '590!x770!' \
multipage.pdf
Чтобы убрать дополнительную границу, используйте -scale '612!x792!'
.- Если вы хотите, чтобы при сохранении соотношения сторон PNG происходило масштабирование только вверх, используйте -scale '590<x770<'
:
convert \
-page letter \
-adjoin \
single*.png \
-gravity center \
-scale '590<x770<' \
multipage.pdf