Вы можете использовать ImageMagick для этого. У него есть огромное количество вариантов, но если вы погрузитесь в него, вы увидите, что его легко подобрать. Проверьте обзор всех параметров командной строки здесь. Для вашего вопроса я использовал следующие опции:
- -compress jpeg: преобразовать фрагменты PDF в формат JPEG, прежде чем помещать их в новый документ. Я думаю, что вы также можете пропустить эту опцию, которая оставит PDF как PDF внутри нового документа (не проверено).
- -extent: сделать страницы формата A4 с разрешением 150 точек на дюйм. Проверьте размеры, необходимые для размера и разрешения бумаги. А4 при разрешении 150 точек на дюйм дает 1240x1753 пикселей.
- -resize: изменить размер изображений /pdf, чтобы они соответствовали границам формата A4 при 150 dpi. Вы можете оставить это, если вы не хотите, чтобы исходный PDF-файл был изменен. Используйте ту же геометрию, что и с -extent.
- -Gravity: с говорит вам, где на странице размещено ваше изображение. Северо-запад - верхний левый угол.
- -units и -density: установить провал (в данном случае я выбрал 150 dpi)
Обратите внимание, что порядок операций является релевантным (выполняется в порядке). Таким образом, -гравитация должна быть размещена до расширения. Или, как сказано в руководстве:
Если параметр -gravity возникает перед другим параметром или параметром, имеющим аргумент геометрии, который задает смещение, смещение обычно применяется к точке в пределах изображения, предложенной аргументом -gravity.
Таким образом, вся моя команда была: convert *.pdf -compress jpeg -resize 1240x1753 -gravity NorthWest -extent 1240x1753 -units PixelsPerInch -density 150x150 output.pdf