将 epub 文件转换为 PDF 格式

pal*_*dot 92 pdf conversion software-recommendation epub

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

Fre*_*Ben 127

你肯定想要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 GUI检查转换对话框的详细信息。

  • 我同意 Calibre 是可行的方法,但我不会在 repos 中安装该版本,因为它们已经过时了。几乎每个星期五都有一个新版本,所以我会使用 Calibre 站点上推荐的命令进行安装 `sudo python -c "import sys; py3 =​​ sys.version_info[0] > 2; u = __import__('urllib.request' if py3 else 'urllib', fromlist=1); exec(u.urlopen('http://status.calibre-ebook.com/linux_installer').read()); main()"` (8认同)
  • `sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('下载失败\n'); exec(sys.stdin.read()); main()"` (3认同)

kar*_*rel 13

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

  • 我尝试了这个,但在将 epub 转换为 pdf 时出现错误 (2认同)

pal*_*dot 10

epub转pdf转换器

在尝试 calibre 之前,我实际上使用上述程序转换了我的文件,这是一个命令行 epub 到 pdf 转换器,它实际上有一些方便的选项。

用法:

1) 将文件解压到方便的位置,在终端中切换到解压文件夹

2) 使 .sh 文件可执行

 chmod +x ./epub2pdf.sh 
Run Code Online (Sandbox Code Playgroud)

3)运行文件

 ./epub2pdf.sh <path-to-epub-file>
Run Code Online (Sandbox Code Playgroud)

默认输出目录是文件夹,但可以通过属性文件进行大量自定义,在该文件中可以对其进行更改。

虽然该程序已经有一段时间没有更新了,但它的效果非常好,我认为这可能是人们尝试将他们的 epub 转换为 pdf 的一种选择。


Phi*_*ann 8

sudo apt install pandoc
pandoc -f epub -t pdf infile.epub -o outfile.pdf
Run Code Online (Sandbox Code Playgroud)


小智 7

这是我的食谱:

pandoc -s -t latex --toc --chapters \
        --latex-engine=lualatex $BOOK.epub -o $BOOK.pdf
Run Code Online (Sandbox Code Playgroud)

如果的additon--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
Run Code Online (Sandbox Code Playgroud)

这是一个解决方法。检查是否可以生成 tex 文件:

$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.tex
Run Code Online (Sandbox Code Playgroud)

将 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
Run Code Online (Sandbox Code Playgroud)

通过使用 `convert' 实用程序(来自 imagemagick 程序套件)创建新的 LaTeX 兼容 JPEG 图像来废除提取的 .jpg 图像

$ cd images
$ convert logo1.jpg logo1.jpeg 
Run Code Online (Sandbox Code Playgroud)

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

$ mv logo1.jpeg logo1.jpg 
Run Code Online (Sandbox Code Playgroud)

可以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 ..
Run Code Online (Sandbox Code Playgroud)

再次运行第一个命令行,但这次让 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
Run Code Online (Sandbox Code Playgroud)


小智 6

请首先calibre运行以下命令进行安装

sudo apt-get -y install calibre 
Run Code Online (Sandbox Code Playgroud)

之后您可以简单地将 youtepub文件转换为pdf

ebook-convert my-book.epub my-book.pdf --enable-heuristics
Run Code Online (Sandbox Code Playgroud)

PS:我真的很喜欢我在类似帖子中看到的答案: https: //askubuntu.com/a/170119

  • 嗯,你搞错了。这个问题是关于将*从*EPub*转换*为*PDF。 (9认同)