使用Pandoc将EPUB转换为PDF。

我想使用Pandoc将我的test.epub转换为PDF格式。我尝试了(这里提供的链接)。
pandoc -f epub -t test.epub -o outfile.pdf

出现以下错误:
无法从pdf生成pdf输出。
我还尝试了以下命令。
pandoc test.epub -f epub -t latex -s -o my.pdf --latex-engine=xelatex

抛出以下错误:
--latex-engine has been removed.  Use --pdf-engine instead.
Try pandoc --help for more information.

然后我尝试了一下。
pandoc test.epub -f epub -t latex -s -o my.pdf --pdf-engine=xelatex

将EPUB转换为PDF格式,但最终输出效果不太好。页面分页和其他内容没有得到很好的处理。页面数量比实际要多。有没有什么好的方法可以高效地将EPUB转换为PDF格式呢?

你的 pandoc --version 是什么?他们有更新的deb包版本 - N0rbert
感谢@N0rbert的评论。尝试了pandoc test.epub -o my.pdf,但出现以下错误: `生成PDF时出错。 !输入编码包错误:Unicode字符в(U+432) (inputenc)未设置为与LaTeX一起使用。请参阅inputenc包文档以获取解释。 键入H <return>以获得即时帮助。 ... ...尝试使用--pdf-engine=xelatex选项运行pandoc。 - MYaseen208
我认为这取决于输入的epub文件。你从哪里得到你的? - N0rbert
感谢@N0rbert对我的问题表示关注。如果你想要解决这个问题,我可以给你发送epub文档。谢谢。 - MYaseen208
你可以从https://bookdown.org/yihui/bookdown-demo/bookdown-demo.epub开始,这是一个简单的文档,转换正常。如果你是epub的作者,你可以使用RMarkdown([bookdown](https://bookdown.org/yihui/bookdown/))生成多种输出格式。 - N0rbert
转换是依赖于文档的。 - MYaseen208
请参阅下面的回答... 当你说“不尊重分页和其他东西。比实际页面多很多....”时,你似乎认为使用Pandoc将EPUB转换为PDF时应保持页面布局。这种假设是错误的。如果你需要这个功能(但为什么你要这样做?),你唯一的选择就是从EPUB的每一页截屏,并将这些图像转换为PDF页面。然而,甚至没有一个EPUB阅读器能让同一个EPUB文档在下一个阅读器中呈现相同的方式.... - Kurt Pfeifle
2个回答

你试过最新版本的Pandoc吗?目前是v2.5。 你试过使用'--epub-chapter-level=...'参数来玩一下吗? 你试过使用'--top-level-division=section'(或者...=part或者...=chapter)来输出吗? 你试过使用LuaLaTeX引擎吗? pandoc \ -f epub \ -t latex \ -o my.pdf \ --epub-chapter-level=1 \ --pdf-engine=lualatex \ test.epub
你试过像Calibre这样的非Pandoc工具吗?

在Ubuntu 20.04上,不使用Pandoc,将EPUB转换为RTF再转换为PDF:

首先,我使用Ebookreader Calibre将EPUB文件转换为富文本格式(RTF),然后从Calibre的图形用户界面中打开新创建的RTF文件。(请勿在当前目录中查找RTF文件)。

Calibre 4.99使用了我的Libreoffice Writer来打开RTF文件。通过Writer,我能够将RTF文件导出为PDF。

这种方法适用于几乎只包含文本的PDF文件。除了章节标记、公司标志等少量图形外,它几乎没有其他图像。