Как преобразовать PDF в формат электронной книги

Как преобразовать PDF в формат электронной книги

Есть ли способ конвертировать PDF-документ в формат электронной книги, такой как epub, azw или mobi? Я ищу приложение, которое быстро конвертирует. Я только что попробовал calibre. Спустя 10 минут не было достигнуто даже 2% конвертации. Так что, пожалуйста, не используйте calibre. Предпочтительнее CLI.

решение1

Я обычно используюКалибр, для конвертации из различных форматов (epub, mobi и pdf). Конвертировать с ним довольно просто, вот скриншот, естьдругиеи авидеоуроктакже.

Скриншот

   сс калибра

решение2

Попробуйте pdftotext(входит в Ubuntu в пакете poppler-utils). Это командный конвертер. Он предполагает, что PDF содержит текст и не состоит только из изображений.

Если PDF-файл состоит из изображений (без информации OCR), вам придется использовать решение OCR, которое работает гораздо медленнее.

Я также успешно использовал метод OCR для текста PDF, который был зашифрован (путем нелинейного расположения отдельных символов на странице). Затем вы используете eg pdftoppmдля получения отдельных изображений страниц и OCR для них.

решение3

Однажды мне пришлось сделать это для PDF-файла, и вот результат (с использованием pdftohtml из poppler):

#!/bin/bash

pwddir="`pwd`"
tmpdir="`mktemp -d`"

pdftohtml -enc UTF-8 -noframes -p -nomerge -nodrm -q "$1" "$tmpdir"/index

cd "$tmpdir"

sed -e :a -e '$!N;s/\n/ /;ta' \
    -i index.html 

sed -e 's@ @ @g' \
    -e 's@<hr>@ @g' \
    -e 's@<br/>\s*<br/>@</p><p>@g' \
    -e 's@<br/>@ @g' \
    -i index.html

tidy -utf8 -i -wrap 9999999 -m index.html

sed -e 's@<a name="[^"]*"></a>@@g' \
    -i index.html

rm "$pwddir"/"$1".zip
zip "$pwddir"/"$1".zip *

Скормите zip-архив Calibre и конвертируйте в EPUB. Отфильтруйте все свойства CSS (такие как цвета, шрифты).

Каждый файл PDF отличается - нет окончательного решения. Вышеуказанное сработало для одного конкретного случая - вам нужно ослабить pdftohtml/pdftotext, а затем настроить вывод в соответствии с вашими потребностями.

Если это не сработает и вам придется прибегнуть к OCR, мне немного повезло с клинописью. Но попробуйте также tesseract, ocrad, gocr. Однако все они требуют ручного труда для хорошего результата.

Связанный контент