3

Мне нужно конвертировать все (около 300 ГБ) PDF-файлов в AVI (или какой-либо другой формат видео).

Я объясню, что я имею в виду; для определенного исследовательского проекта мне нужно прошить каждую страницу в формате pdf (скажем, 1с). Я знаю, что это можно сделать с помощью доступных программ, сначала извлекая изображения из PDF-файлов, а затем с помощью приложений для редактирования видео для создания окончательного видео.

Я хочу знать, смогу ли я автоматизировать весь процесс? Есть ли что-то уже доступное, о чем я не знаю?

Я использую как GNU/Linux, так и Windows.

2 ответа2

4

Я не проверял ничего из этого, но я думаю, что вы можете сделать это с помощью ImageMagick (конвертировать PDF в JPG) и ffmpeg (конвертировать JPG в MP4 или аналогичный). Несомненно, потребуется множество настроек, но, надеюсь, это поможет вам начать:

convert -density 400 n2010.pdf n2010.jpg

Это должно генерировать изображение JPG на страницу. Вы можете поиграть с различными опциями, такими как использование PNG вместо JPG, а также настройка плотности для получения желаемого качества / результатов.

Затем я бы использовал avconv/ffmpeg, чтобы склеить изображения в видео. Ссылка ниже предоставляет (надеюсь) рабочий пример.

Удачи!

Рекомендации

1

На самом деле в последнее время у меня была похожая проблема - я хотел создать MP4-видео из файла PDF. ImageMagick был немного проблематичным при преобразовании файла PDF с большим количеством страниц (около 1400). Хитрость заключается в том, чтобы преобразовать одну PDF-страницу за один вызов convert (при одновременном преобразовании всего PDF-файла ImageMagick в какой-то момент потреблял слишком много памяти - около 10 GB), т.е.

for p in {0..1441}; do
    name=`printf "frame-%04d" ${p}`;
    convert -density 600 -quality 100  art.pdf[${p}] ${name}.png;
done

Тогда ffmpeg можно использовать следующим образом.

ffmpeg -framerate 120 -i frame-%04d.png -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:color=white" output.mp4

Опция force_original_aspect_ratio=decrease предназначена для работы с некоторыми изображениями, размер которых немного отличается от других - если это так, они дополняются белым цветом (опция color=white).

Мне нужен был такой безумный DPI (-density 600) из-за крошечных мелких деталей на изображении - обычно 300 более чем достаточно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .