Это восхитительно. Так просто. Он автоматически изменяет размер изображений и всего остального ... Мне нравится открытый исходный код.
Натан Уоллес
Есть ли способ контролировать качество документа или размер полученного PDF-файла? Мне нужно загрузить некоторые документы с максимальным размером файла 2,5 МБ. Я пробовал использовать эту -qualityопцию, но размер файла всегда составляет ~ 9,5 МБ.
arielnmz
Можно ли добавлять файлы изображений к существующему PDF?
Kiran Reddy
3
Преобразование всех файлов в папке указанного типа с помощьюconvert *.jpg file.pdf
haakym
2
@arielnmz, вы можете сжать файл с помощью параметров -compress jpeg -quality 50. Смотрите мой ответ
Michael Schmid
37
Если я хочу объединить несколько сканов в один файл PDF, я делаю следующее:
Это дает вам PDF-документ с размером страницы DIN-A4, где каждый pngфайл центрируется на своей странице. Изображения, которые слишком велики для одной страницы DIN-A4, пропорционально изменяются, чтобы поместиться на одной странице. Маленькие изображения не изменяются (не увеличиваются).
Вы должны назвать все pngфайлы в командной строке, но вы также можете использовать подстановочные знаки, например, чтобы объединить все файлы png в текущем каталоге:
Команда pdfjoinявляется частью PDFjam, как упоминалось в ответе Джереми Уиллкока. Таким образом, вам, скорее всего, придется установить пакет с именем pdfjamили texlive-extra-utilsс менеджером пакетов вашего дистрибутива. PDFjam может использовать pngфайлы в качестве входных данных, начиная с версии 2.07, выпущенной в 2010-11-13.
Программа convert входит в набор инструментов ImageMagick. Используйте его для преобразования между форматами изображений, а также для изменения размера изображения, размытия, обрезки, удаления пятен, дизеринга, рисования, отражения, объединения, повторной выборки и многого другого.
Если вы хотите иметь файл меньшего размера, и вы не против потери качества, вы можете сначала преобразовать их в формат JPEG. (ImageMagick также поддерживает изменение уровня сжатия PNG, но обычно ваши входные файлы уже используют самый высокий уровень.)
Используйте для параметра значение от 0 до 100 quality.
Кроме того, вы можете добиться меньшего размера файла (и качества), передискретив изображения до определенного разрешения.
convert *.png 2.png -resample 300 Result.pdf
Значение resampleотносится к количеству пикселей на дюйм. ImageMagick считывает исходную плотность из EXIF-части входных изображений, возвращаясь к 72 dpi. Вы можете использовать densityпараметр, чтобы установить собственное разрешение для входных изображений.
Вы , конечно , можете также комбинировать compress, qualityи resampleпараметры.
Файлы изображений не удаляются, но вы можете скопировать их для вашего спокойствия. У меня также была проблема stackoverflow.com/questions/42928765/…, которую нужно было решить, прежде чем она сработала.
Недавно imagemagick по умолчанию запрещает преобразование PDF. См. Этот вопрос, если вы столкнулись с этим, чтобы знать, как изменить эту политику. stackoverflow.com/questions/52998331/…
user2565010
5
Я украл это, но это решение, которое я использовал от Джереми Уиллкока и другого сайта ответов. Пока не копаюсь в истории. Я солгал, я солгал. (Tully @ https://askubuntu.com/a/626301 )
Мне нужен был достаточно маленький файл для отправки по электронной почте.
Чтобы объединить изображения в PDF (из рабочего каталога, используйте командную строку:
Вы можете сжать файл напрямую с помощью convert , используя параметры -compress jpeg -quality 50. Смотрите мой ответ
Майкл Шмид
@MichaelSchmid Сжатие с помощью convert не так эффективно. Это только снижает качество jpeg, тогда как решение GS меняет разрешение. Если вы попробуете это сделать с изображением с высоким разрешением, вы увидите, насколько велика разница в размере, даже если вы выберете чрезвычайно низкое качество jpg.
MAK
Да, повторная выборка действительно может быть более эффективной, чем сжатие JPEG. И ImageMagick также поддерживает это. Я добавил эту опцию в свой ответ.
-quality
опцию, но размер файла всегда составляет ~ 9,5 МБ.convert *.jpg file.pdf
-compress jpeg -quality 50
. Смотрите мой ответЕсли я хочу объединить несколько сканов в один файл PDF, я делаю следующее:
Это дает вам PDF-документ с размером страницы DIN-A4, где каждый
png
файл центрируется на своей странице. Изображения, которые слишком велики для одной страницы DIN-A4, пропорционально изменяются, чтобы поместиться на одной странице. Маленькие изображения не изменяются (не увеличиваются).Вы должны назвать все
png
файлы в командной строке, но вы также можете использовать подстановочные знаки, например, чтобы объединить все файлы png в текущем каталоге:Команда
pdfjoin
является частью PDFjam, как упоминалось в ответе Джереми Уиллкока. Таким образом, вам, скорее всего, придется установить пакет с именемpdfjam
илиtexlive-extra-utils
с менеджером пакетов вашего дистрибутива. PDFjam может использоватьpng
файлы в качестве входных данных, начиная с версии 2.07, выпущенной в 2010-11-13.источник
pdfjoin
доступен вtexlive-extra-utils
пакете на некоторых платформах. Вы всегда можете установить его из исходного кода.ImageMagick «S новообращенный инструмент мои предпочтения.
Если вы хотите, чтобы файлы изображений (и, следовательно, их качество и размер) не менялись, просто поместите вокруг них контейнер PDF:
Если вы хотите иметь файл меньшего размера, и вы не против потери качества, вы можете сначала преобразовать их в формат JPEG. (ImageMagick также поддерживает изменение уровня сжатия PNG, но обычно ваши входные файлы уже используют самый высокий уровень.)
Используйте для параметра значение от 0 до 100
quality
.Кроме того, вы можете добиться меньшего размера файла (и качества), передискретив изображения до определенного разрешения.
Значение
resample
относится к количеству пикселей на дюйм. ImageMagick считывает исходную плотность из EXIF-части входных изображений, возвращаясь к 72 dpi. Вы можете использоватьdensity
параметр, чтобы установить собственное разрешение для входных изображений.Вы , конечно , можете также комбинировать
compress
,quality
иresample
параметры.источник
Я украл это, но это решение, которое я использовал от Джереми Уиллкока и другого сайта ответов. Пока не копаюсь в истории. Я солгал, я солгал. (Tully @ https://askubuntu.com/a/626301 )
Мне нужен был достаточно маленький файл для отправки по электронной почте.
Чтобы объединить изображения в PDF (из рабочего каталога, используйте командную строку:
Чтобы сжать с помощью ghostscript после объединения (я почти использовал систему по умолчанию kde):
В моем файле было 14 изображений (19 МБ после преобразования, gs сделала его 1,6 МБ, качество все еще отличное). Выходной файл называется
output.pdf
.источник
-compress jpeg -quality 50
. Смотрите мой ответ