我想知道在 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
sudo apt install calibre
从默认的 Ubuntu 存储库安装 Calibre 。- 打开 Calibre 并点击添加书籍Calibre 菜单中的图标。将打开文件选择窗口。
- 浏览到您想要添加的 epub 文件,然后选择一个或多个 epub 文件添加到 Calibre。
- 在中央窗格中从 Calibre 库中选择一个或多个 epub 文件。或者
formats:"=EPUB"
在搜索框中键入以仅搜索 EPUB 格式的文件,然后从中央窗格中过滤后的库列表中选择一个或多个 epub 文件。点击转换书籍Calibre 菜单中的图标。 - 一个新的转变窗口将打开。在转换窗口中输入格式选择 EPUB。对于输出格式选择 PDF。单击OK按钮开始转换文件。
- 要查找 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