Как преобразовать файл .pdf в папку с изображениями?


16

У меня есть некоторые файлы .pdf, которые я хотел бы преобразовать в предпочитаемый формат чтения .cbr или .cbz или, если это невозможно, мне нужно извлечь все страницы из .pdf в виде изображений, а затем сжать их в мой формат выбора. Я только смог сохранить страницы по одной с Document Viewer. Очевидно, я хотел бы сделать это немного быстрее. Я попробовал pdfsam, pdf shuffler и pdfmod без удачи. Я использую Ubuntu 11.10.

Ответы:


14

Хорошо, я провел еще несколько исследований, и хотя метод tohuwawohu работает, я обнаружил, что проще использовать программу pdftoppm для достижения того, что я хотел сделать. Поскольку я в значительной степени непрофессионал, когда дело доходит до использования приложений командной строки, я сделаю все возможное, чтобы объяснить, как я заставил это работать на меня.

  1. Перейдите к папке, содержащей .pdf, который вы хотите редактировать, и откройте там терминал. Я сделал это с помощью примера команды:

    cd ~/Documents/PDF
    
  2. Допустим, файл, который я хочу отредактировать, называется Sample.pdf. Я хочу использовать pdftoppm для создания файлов изображений для каждой страницы .pdf. Можно выбрать несколько форматов (см. Ссылку на страницы руководства выше), но я предпочитаю использовать .png. Основная команда выглядит так:

    pdftoppm -FORMAT FILENAME.pdf PREFIX
    

    или в приведенном выше примере:

    pdftoppm -png Sample.pdf Sample
    

    Эта команда создает файл изображения каждой страницы в той же папке, что и исходный файл .pdf с именами, такими как Sample-01.png, Sample-02.png и так далее. Я попытался это с расширениями .png и .jpeg успешно. .jpg, видимо, не поддерживается.

  3. Затем я просто использую Archive Manager , выбирая все вновь созданные файлы изображений, щелкая правой кнопкой мыши и выбирая «Сжать» в контекстном меню. Затем я выбираю предпочитаемый формат архива (в данном случае .cbz или Comic Book Zip) и создаю новый архив.

  4. Теперь у меня есть новый блестящий файл .cbz с именем Sample.cbz, который я могу просмотреть с помощью своей программы чтения Comix !

Надеюсь, то, что я написал выше, имеет достаточный смысл, чтобы кто-то еще мог извлечь из этого уроки. Если мне нужно изменить это каким-либо образом, пожалуйста, дайте мне знать.


Очень хорошо! Кажется, что pdftoppmна самом деле проще в использовании, чем ImageMagick convert.
tohuwawohu

да, это очень полезно и легко. Я просто хочу знать. Можно добавить альфа-префикс. Подобно префиксам
-a

pdftoppmочень медленно и использует всю оперативную память на моем компьютере. pdfimages -jработал намного лучше
Эрик Думинил

4

Я не очень знаком с * .cbr / * .cbz, но, похоже, вам придется объединить два шага:

  1. Конвертировать PDF в изображения
  2. Сожмите их в архив ZIP / RAR.

Шаг 1 Что касается, вы можете использовать ImageMagick «S convertкоманды. Вы можете convertпередавать с помощью PDf, состоящего из нескольких страниц, и convertвозвращать каждую страницу в виде одного графического файла. Я протестировал его с текстом, отсканированным с разрешением 400 точек на дюйм, и следующая команда привела к хорошим одиночным JPGE:

$ convert -verbose -colorspace RGB -interlace none -density 400 -quality 100 yourPdfFile.pdf 00%d.jpeg

(кредиты относительно -qualityопции: эта запись на форуме )

В результате, вы получаете 000.jpeg, 001.jpegи так далее. Просто заархивируйте их в .cbzфайл, и все готово.

Вы даже можете объединить оба шага, "объединяя" их:

$ convert -verbose -colorspace RGB -interlace none -density 400 -quality 100 yourPdfFile.pdf 00%d.jpg && zip -vm comic.cbz *.jpg

(убедитесь, что в вашем текущем рабочем каталоге нет других файлов JPEG, так как с помощью приведенного выше кода zip переместит все файлы JPEG в файл cbz)


4

Для этой цели я написал простой bash-скрипт, вам понадобится установить poppler, поэтому:

sudo apt-get install poppler-utils #ubuntu
brew install poppler # mac

Вот скрипт bash (сохраните его как convert_to_cbz.sh):

filename="${1%.*}"
echo "Converting $filename to cbz"
mkdir "./$filename"
pdftoppm -jpeg "$1" "./$filename/000"
zip -r9 "${filename}.cbz" "./$filename" 
rm -rf "./$filename"

Чтобы использовать скрипт bash:

chmod +x convert_to_cbz.sh
./convert_to_cbz.sh "Nintendo Official Magazine 066 (OldGameMags).pdf"

Надеюсь, это будет кому-то полезно!


Замечательно, спасибо. Мне пришлось немного изменить сценарий, хотя. pdftoppmиспользовал всю мою оперативную память и разбил мой компьютер. Заменив 4-ю строчку, pdfimages -j "$1" "./$filename/000" сделал свое дело. Работает нормально, быстро, вроде нет потери качества, а cbz немного меньше оригинального pdf. pdfimagesтакже входит в poppler-utils.
Эрик Думинил

3

Попробуйте использовать калибр для прямого преобразования .pdf в .cbr или .cbz.


Спасибо за предложение, но для меня использование Caliber в качестве решения не сработает. Я установил программу, и мне жаль говорить, что она торчит как больной палец на моем рабочем столе! Кроме того, я обнаружил, что использование команды pdftoppm, приведенной ниже, намного быстрее, чем установка и настройка Caliber перед преобразованием.
Шон

@ Шон Да, я бы сказал, что Калибр уродлив и медлителен, но он делает свою работу. Я рад, что вы нашли лучшее решение, хотя :)
bntser

1

Кажется, что самый простой способ - использовать Acrobat Pro.

  1. Откройте PDF в Acrobat Pro.
  2. После открытия файла перейдите к FileExportImageJPEG, он будет экспортировать каждую страницу в виде одного JPG.
  3. Поместите все JPG в папку
  4. Заархивируйте папку.
  5. Вручную измените расширение в конце ZIP-файла с .zip на .cbz

Если вы предпочитаете файл CBR , распакуйте папку, а не архивируйте ее, затем измените расширение с .rar на .cbr .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.