当前位置: 首页>>技术问答>>正文


将epub文件转换为PDF格式

, , , ,

问题描述

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

最佳解决方法

你肯定想要Calibre。您可以使用它将几乎任何文件类型转换为任何其他文件类型,只要源文件没有DRM(如Amazon,Adobe等)。如果它有DRM,请查看Apprentice Alf’s blog以获取有关使用Calibre插件剥离的帮助。请勿使用DRM剥离器盗版书籍或以其他方式违反与供应商的协议。使用它,您可以在任何设备上以任何格式欣赏您的书籍。

Calibre也是一款非常出色的e-book管理程序,几乎可以做任何事情。它可以管理Kindles,Android手机/平板电脑等。如果您愿意,它甚至可以通过电子邮件将您的书籍发送到您的Kindle电子邮件地址。你不会失望的:-)

从终端:

sudo apt-get install calibre

或者在Ubuntu软件中心搜索它

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

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

或者您可以使用Calibre GUI查看the conversion dialog的详细信息。

次佳解决方法

  1. 从Ubuntu软件中心安装Calibre。

  2. 打开Calibre,然后单击Calibre菜单中的Add books图标。将打开文件选择窗口。

  3. 浏览到要添加的epub文件,然后选择一个或多个要添加到Caliber的epub文件。

  4. 从中心窗格中的Calibre库中选择一个或多个epub文件。或者在搜索框中键入formats:"=EPUB"以仅搜索EPUB格式文件,并从中心窗格中的筛选库列表中选择一个或多个epub文件。单击“Calibre”菜单中的“转换书籍”图标。

  5. 将打开一个新的转换窗口。在输入格式的转换窗口中,选择EPUB。对于输出格式,请选择PDF。单击OK按钮开始转换文件。

  6. 要查找PDF文件,请单击转换为PDF的文件。在Calibre的right-hand侧的窗格中,您将看到一个名为Path的条目:单击打开。单击“单击以打开”链接,在PDF文件的目录中打开新的文件浏览器窗口。

第三种解决方法

epub to pdf converter

在尝试使用caliber之前,我实际上是使用上面的程序转换了我的文件,命令行epub到pdf转换器实际上很好用了一些方便的选项。

用法:

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

2)使.sh文件可执行

 chmod +x ./epub2pdf.sh 

3)运行文件

 ./epub2pdf.sh <path-to-epub-file>

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

虽然该程序暂时没有更新,但它确实很好用,我认为这可能是人们尝试将其epub转换为pdf的一种选择。

第四种方法

sudo apt install pandoc
pandoc -f epub -t pdf infile.epub -o outfile.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

通过使用`convert’实用程序(来自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引擎通过添加选项--data-dir=.来寻找与之前提取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)中的\includegraphics

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1668.html,未经允许,请勿转载。