将 epub 文件转换为 PDF 格式

将 epub 文件转换为 PDF 格式

我想知道在 ubuntu 中将 epub 文件转换为 pdf 的方法。只要我的 epub 能转换为 pdf,任何方法、GUI 或命令行转换都可以。谢谢。

答案1

你肯定想要口径。您可以使用它将几乎任何文件类型转换为任何其他文件类型,只要源文件没有 DRM(如 Amazon、Adobe 等)。如果它有 DRM,请查看学徒 Alf 的博客寻求帮助,使用 Calibre 插件将其删除。不要使用 DRM 删除程序盗版书籍或以其他方式违反与供应商的协议。使用它,您可以享受你的书适用于任何设备、任何格式。

Calibre 也是一款非常棒的电子书管理程序,几乎无所不能。它可以管理 Kindle、Android 手机/平板电脑等。如果您愿意,它甚至可以一键将您的书籍通过电子邮件发送到您的 Kindle 电子邮件地址。您不会失望的 :-)

从终端:

sudo apt-get install calibre

或者在 Ubuntu 软件中心搜索

要实际转换 EPUB 文件,您可以使用以下命令:

ebook-convert file.epub file.pdf(详情请查看其他答案)

或者您可以查看转换对话框使用 Calibre GUI。

答案2

sudo apt install pandoc
pandoc -f epub -t pdf infile.epub -o outfile.pdf

答案3

  1. sudo apt install calibre从默认的 Ubuntu 存储库安装 Calibre 。
  2. 打开 Calibre 并点击添加书籍Calibre 菜单中的图标。将打开文件选择窗口。
  3. 浏览到您想要添加的 epub 文件,然后选择一个或多个 epub 文件添加到 Calibre。
  4. 在中央窗格中从 Calibre 库中选择一个或多个 epub 文件。或者formats:"=EPUB"在搜索框中键入以仅搜索 EPUB 格式的文件,然后从中央窗格中过滤后的库列表中选择一个或多个 epub 文件。点击转换书籍Calibre 菜单中的图标。
  5. 一个新的转变窗口将打开。在转换窗口中输入格式选择 EPUB。对于输出格式选择 PDF。单击OK按钮开始转换文件。
  6. 要查找 PDF 文件,请单击已转换为 PDF 的文件。在 Calibre 右侧的窗格中,您将看到一个名为小路:单击打开。单击“单击打开”链接可在 PDF 文件的目录中打开一个新的文件浏览器窗口。

答案4

这是我的食谱:

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

通过使用“转换”实用程序(来自 imagemagick 程序套件)创建新的与 LaTeX 兼容的 JPEG 图像来废除提取的 .jpg 图像

$ cd images
$ convert logo1.jpg logo1.jpeg 

并用新创建的 .jpeg 图像替换之前用 pandoc 提取的 .jpg 图像:

$ 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 Specify the user data directory to search for pandoc data files. If this option is not specified, the default user data directory will be used. This is, in Unix: $HOME/.pandoc--data-dir=.

$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex \
--data-dir=. $BOOK.epub -o $BOOK.pdf

相关内容