Вопрос или проблема
Я хотел бы узнать, как можно конвертировать файлы epub в pdf в Ubuntu. Любой метод, интерфейс или командная строка, подойдет, главное чтобы мой epub был конвертирован в pdf. Спасибо.
Безусловно, стоит использовать Calibre. Вы можете использовать его для конвертации практически любого типа файлов в любые другие типы файлов, если исходный файл не защищен DRM (например, Amazon, Adobe и т.д.). Если он защищен DRM, обратитесь к блогу Apprentice Alf за помощью в удалении защиты с помощью плагинов Calibre. Не используйте средства удаления DRM для пиратства книг или других нарушений соглашений с продавцом. Используйте их, чтобы наслаждаться вашими книгами на любом устройстве в любом формате.
Calibre также является отличной программой для управления электронными книгами, которая может практически всё. Она может управлять Kindle, Android телефонами/планшетами и т.д. Она может даже отправлять ваши книги по электронной почте на адрес вашего Kindle одним щелчком мыши, если вам нужно. Вы не разочаруетесь 🙂
Из терминала:
sudo apt-get install calibre
Или найдите его в Центре программного обеспечения Ubuntu
Для конвертации файла EPUB вы можете использовать следующую команду:
ebook-convert file.epub file.pdf
(Подробности здесь: этот вопрос)
Или можете изучить детали диалога конвертации через интерфейс Calibre.
sudo apt install pandoc
pandoc -f epub -t pdf infile.epub -o outfile.pdf
- Установите Calibre с помощью
sudo apt install calibre
из стандартных репозиториев Ubuntu. - Откройте Calibre и щелкните значок Добавить книги в меню Calibre. Откроется окно выбора файлов.
- Перейдите к файлам epub, которые вы хотите добавить, и выберите один или несколько файлов epub для добавления в Calibre.
- Выберите один или несколько файлов epub из библиотеки Calibre в центральной панели. Или введите
formats:"=EPUB"
в поле поиска, чтобы искать только файлы в формате EPUB, и выберите один или несколько файлов epub из отфильтрованного списка библиотеки в центральной панели. Нажмите значок Конвертировать книги в меню Calibre. - Откроется новое окно Конвертации. В окне Конвертации для входного формата выберите EPUB. Для выходного формата выберите PDF. Нажмите кнопку OK, чтобы начать конвертацию файла(ов).
- Чтобы найти ваши файлы PDF, щелкните файл, который вы конвертировали в PDF. В панели справа в Calibre вы увидите запись с названием Путь: Нажмите, чтобы открыть. Щелкните по ссылке “Нажмите, чтобы открыть”, чтобы открыть новое окно проводника файлов в папке с файлом PDF.
Перед тем, как попробовать calibre, я действительно конвертировал свой файл, используя вышеуказанную программу, командный строковый конвертер epub в pdf, который на самом деле хорош с некоторыми удобными опциями.
Использование:
1) распакуйте файл в удобное место и перейдите в распакованную папку в терминале
2) сделайте файл .sh исполняемым
chmod +x ./epub2pdf.sh
3) запустите файл
./epub2pdf.sh <path-to-epub-file>
По умолчанию выходной каталог — это папка home, но много настроек доступно через файл свойств, где это можно изменить.
Хотя программа не обновлялась какое-то время, она работает очень хорошо, и я думаю, что это может быть вариантом для тех, кто хочет попробовать конвертировать свои epub в pdf.
Вот мой рецепт:
pandoc -s -t latex --toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.pdf
если добавление --toc
и --chapters
не дает желаемого результата, исключите их. Иногда изображения внутри epub не могут быть использованы с latex, поэтому вам нужно их преобразовать в процессе :
$ pandoc -s -t latex --toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.pdf
!LuaTeX error (file /tmp/tex2pdf.23440/3f21bef8dd2877aad72f5cddbf00284ca88fa0e7
.jpg): reading JPEG image failed (no marker found)
==> Fatal error occurred, no output PDF file produced!
pandoc: Error producing PDF
Вот обходной путь. Проверьте, может ли быть создан tex файл:
$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.tex
Извлеките изображения и другие медиафайлы, содержащиеся в контейнере epub, в путь DIR, создав его при необходимости, и настройте ссылки на изображения в документе [LaTeX], чтобы они указывали на извлеченные файлы, с помощью опции --extract-media= DIR
. Выберите текущий каталог, который также содержит файл ePub. Добавьте --extract-media=
, что означает извлечение в текущий каталог, который также является $HOME/Documents
$ cd Documents
$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex \
--extract-media=. $BOOK.epub -o $BOOK.tex
pandoc: extracting ./images/9781501144158.jpg
pandoc: extracting ./images/com-01.jpg
pandoc: extracting ./images/f0003-01.jpg
pandoc: extracting ./images/f0005-01.jpg
[ ----- extract-media logging shortened ---- ]
pandoc: extracting ./images/f0177-01.jpg
pandoc: extracting ./images/f0187-01.jpg
pandoc: extracting ./images/logo.jpg
pandoc: extracting ./images/logo1.jpg
pandoc: extracting ./images/title.jpg
Преобразуйте извлеченные .jpg изображения в новые совместимые с LaTeX JPEG изображения с помощью утилиты `convert` (из пакета программ imagemagick)
$ cd images
$ convert logo1.jpg logo1.jpeg
и Замените ранее извлеченные pandoc .jpg изображения на вновь созданные .jpeg изображения:
$ mv logo1.jpeg logo1.jpg
Это можно сделать с помощью одного цикла for
в командной строке:
$ cd images/
$ for i in *.jpg; do convert $i `echo $i | sed 's/jpg/jpeg/'`; done
$ rm -f *.jpg
$ for i in *.jpeg; do mv $i `echo $i | sed 's/jpeg/jpg/'`; done
$ cd ..
Запустите первую команду снова, но на этот раз пусть механизм LuaTeX ищет свои \includegraphics
в той же директории, где ранее были извлечены ePub изображения (--data-dir=DIRECTORY указывает директорию пользовательских данных для поиска файлов данных pandoc. Если эта опция не указана, будет использоваться директория по умолчанию. Это в Unix: $HOME/.pandoc
) добавив опцию --data-dir=.
:
$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex \
--data-dir=. $BOOK.epub -o $BOOK.pdf
Пожалуйста, сначала установите calibre
, запустив следующую команду
sudo apt-get -y install calibre
Затем вы можете просто конвертировать свой epub
файл в pdf
с помощью:
ebook-convert my-book.epub my-book.pdf --enable-heuristics
PS: Мне очень понравился ответ, который я увидел в похожем ответы здесь: https://askubuntu.com/a/170119
Достаточно открыть файл EPUB в просмотрщике документов, который может печатать в PDF. Для меня okular работает очень хорошо.
Вы можете массово конвертировать файлы целых каталогов с помощью Calibre.
Укажите терминал на директорию, содержащую ваши epub файлы.
Если вы еще не сделали этого, установите Calibre.
sudo apt update
sudo apt install -y calibre
Для массовой конвертации одного каталога выполните следующую команду в терминале…
for i in *epub;
do ebook-convert "$i" "${i/%.epub"
Это поместит копию в формате pdf в исходный каталог.
Если, как и у меня, у вас есть папки и подпапки с файлами в формате .EPUB, и вы хотите сэкономить нервы и сразу сконвертировать их все, используйте следующую команду. Это поместит сконвертированный PDF файл в соответствующую директорию.
shopt -s globstar nullglob
for epubfile in **/*.epub; do
ebook-convert "$epubfile" "${epubfile/}.pdf"
done
Чтобы сделать это еще более изящным, создайте файл-пакет, создав пустой документ, установите права на его выполнение и в верхней части напишите:
#!/bin/bash
Пример:
#!/bin/bash
for i in *epub;
do ebook-convert "$i" "${i/%.epub"
Или
#!/bin/bash
shopt -s globstar nullglob
for epubfile in **/*.epub; do
ebook-convert "$epubfile" "${epubfile/}.pdf"
done
Запустите файл в соответствии с вашей установкой. Это будет продолжать искать до тех пор, пока не дойдет до последней директории на своем пути.
Также можно попробовать
--enable-heuristics
После того, как увидел это в предыдущем комментарии, я исследовал это и оказалось, что в некоторых случаях это может сделать работу лучше.
Наслаждайтесь!
.
Ответ или решение
Конвертация EPUB-файлов в формат PDF на Ubuntu — задача, которая может быть решена несколькими способами, будь то использование графического интерфейса или командной строки. Среди доступных инструментов важно выделить программы, которые обеспечивают высокую точность и удобство в использовании. Рассмотрим наиболее популярные и эффективные методы конвертации EPUB в PDF на системе Ubuntu.
Теория
EPUB является распространенным форматом электронных книг, который используется для просмотра на различных устройствах, таких как электронные ридеры, смартфоны и планшеты. Однако PDF остается предпочтительным форматом для печати и обмена документами из-за своей статичной природы и поддерживаемой многочисленными устройствами и программами. Поэтому необходимость конвертации EPUB в PDF может возникнуть в ситуациях, когда требуется распечатать документ или предоставить его в более универсальной форме.
Основные инструменты для конвертации включают Calibre, Pandoc и специализированные скрипты. Эти инструменты позволяют не только преобразовывать форматы, но и предлагают дополнительные функции, такие как управление библиотекой книг, а также возможность настройки параметров конвертации.
Пример
Calibre
Calibre — это мощное приложение для управления электронными книгами, которое поддерживает множество форматов и предоставляет удобный интерфейс для их конвертации.
-
Установка Calibre: Откройте терминал и выполните команду:
sudo apt-get install calibre
Либо установите Calibre через Ubuntu Software Center.
-
Конвертация EPUB в PDF через GUI Calibre:
- Откройте Calibre и добавьте свои книги, нажав на иконку "Добавить книги".
- Выберите EPUB-файлы из библиотеки и нажмите на "Конвертировать книги".
- В появившемся окне выберите формат "EPUB" в качестве входного и "PDF" в качестве выходного. После этого нажмите "OK".
-
Конвертация через командную строку:
ebook-convert file.epub file.pdf
Pandoc
Pandoc — это универсальный инструмент для преобразования документов, который также может использоваться для конвертации EPUB в PDF.
-
Установка Pandoc:
sudo apt-get install pandoc
-
Конвертация EPUB в PDF:
pandoc -f epub -t pdf infile.epub -o outfile.pdf
При необходимости вы можете использовать дополнительные параметры для настройки процесса, такие как добавление оглавления или использование различных движков LaTeX.
Применение
Конвертация с помощью указанных методов позволяет получить PDF-документы, готовые к печати или обмену. Такие конвертации полезны при необходимости предоставить документы в фиксированном формате, например, для представления или изучения в условиях, где EPUB не поддерживается.
Скрипты и дополнительные опции
Нотабене: Авторский скрипт может быть установлен для более сложных задач, таких как пакетная конвертация в директориях с подпапками. Для этого создайте bash-скрипт с содержанием:
#!/bin/bash
shopt -s globstar nullglob
for epubfile in **/*.epub; do
ebook-convert "$epubfile" "${epubfile/%.epub}.pdf"
done
Запуск такого скрипта в корневой директории позволит конвертировать все EPUB-файлы в соответствующие PDF внутри их собственных папок.
Каждый метод имеет свои преимущества, и выбор подходящего зависит от ваших конкретных потребностей: простота, возможность пакетной обработки, степень детализации конвертации, доступность графического интерфейса или гибкость командной строки. Использование этих инструментов позволяет легко интегрировать процесс конвертации в существующий рабочий процесс.
В заключение, вне зависимости от вашего выбора, важно всегда помнить о легальности конвертации и использовать программное обеспечение этично, соблюдая права на материалы.