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

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

12
задан 24 November 2011 в 20:58

5 ответов

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

Перейдите в папку, содержащую .pdf, которую вы хотите отредактировать и открыть там терминал. Я сделал это с помощью команды sample:
cd ~/Documents/PDF
Предположим, что файл, который я хочу редактировать, называется 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, по-видимому, не поддерживается. Затем я просто использую Archive Manager, выбирая все вновь созданные файлы изображений, щелкнув правой кнопкой мыши и выбрав «Сжать» из контекстного меню. Затем я выбираю формат архива, который предпочитаю (в данном случае .cbz или Comic Book Zip), и создаю новый архив. Теперь у меня есть блестящий новый .cbz-файл с именем Sample.cbz, который я могу просмотреть с помощью моего читателя Comix!

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

11
ответ дан 25 May 2018 в 16:32
  • 1
    Очень хорошо! Кажется, что pdftoppm на самом деле проще использовать, чем ImageMagick's convert. – tohuwawohu 26 November 2011 в 16:19
  • 2
    да это очень полезно и легко. Я просто хочу знать. может добавить альфа-префикс. Как префикс-a, префикс-b, префикс-c, таким образом – Pankaj Badukale 28 September 2015 в 20:38
  • 3
    pdftoppm работает очень медленно и использует всю ОЗУ на моем компьютере. pdfimages -j работал намного лучше. – Eric Duminil 11 January 2018 в 01:08

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

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

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

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

(кредиты относительно опции -quality: ImageMagick )

В результате вы получаете 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)

3
ответ дан 25 May 2018 в 16:32

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

3
ответ дан 25 May 2018 в 16:32
  • 1
    Спасибо за предложение, но для меня использование Caliber в качестве решения не будет работать. Я установил программу, и мне жаль говорить, что она торчит как больной палец на моем рабочем столе! Кроме того, я обнаружил, что использование команды pdftoppm ниже WAY быстрее, чем установка и настройка Caliber перед преобразованием. – Shawn 26 November 2011 в 19:49
  • 2
    @Shawn Да, я бы сказал, что Калибр уродлив и медленный, но он действительно выполняет свою работу. Я рад, что вы нашли лучшее решение, хотя :) – bntser 27 November 2011 в 02:10

Я написал простой сценарий bash именно для этой цели, вам понадобится Poppler, поэтому:

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

Вот сценарий bash (сохраните его как convert_to_cbz.sh): [!d1 ]

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"

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

3
ответ дан 25 May 2018 в 16:32
  • 1
    Замечательно, спасибо. Мне пришлось немного изменить сценарий. pdftoppm использовал всю мою RAM и разбил мой компьютер. Замена 4-й строки на pdfimages -j "$1" "./$filename/000" сделала трюк. Он работает отлично, он быстро, по-видимому, нет потери качества, а cbz немного меньше оригинального pdf. pdfimages также включен в poppler-utils. – Eric Duminil 11 January 2018 в 01:07

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

Открыть PDf в Acrobat Pro. Как только файл будет открыт, перейдите к File → Export → Image → JPEG, он будет экспортировать каждую страницу в виде единого JPG. Поместите все JPG в папку Zip. Вручную измените расширение в конце заархивированного файла с .zip на .cbz

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

1
ответ дан 25 May 2018 в 16:32

Другие вопросы по тегам:

Похожие вопросы: