9

I want to convert my test.epub to PDF format using Pandoc. I tried (given here)

pandoc -f epub -t test.epub -o outfile.pdf

which throws the following error:

cannot produce pdf output from pdf

I also tried the following command

pandoc test.epub -f epub -t latex -s -o my.pdf --latex-engine=xelatex

which throws the following error:

--latex-engine has been removed.  Use --pdf-engine instead.
Try pandoc --help for more information.

Then I tried

pandoc test.epub -f epub -t latex -s -o my.pdf --pdf-engine=xelatex

which converts the EPUB to PDF format but the final output is not very good. No respect for page break and other stuff. More number of pages than the actual. Any thoughts to convert EPUB to PDF format very efficiently.

Kurt Pfeifle
  • 4,495
  • What is your pandoc --version? They have newer deb-packaged versions. – N0rbert Apr 29 '18 at 10:39
  • Thanks @N0rbert for your comment. Tried pandoc test.epub -o my.pdf which throws the following error: `Error producing PDF. ! Package inputenc Error: Unicode char в (U+432) (inputenc) not set up for use with LaTeX.

    See the inputenc package documentation for explanation. Type H for immediate help. ...

    l.3160 said with a clear voice, ``{в

    Try running pandoc with --pdf-engine=xelatex.`

    – MYaseen208 Apr 29 '18 at 10:42
  • I think it depends on input epub-file. Where you got yours? – N0rbert Apr 29 '18 at 10:45
  • Thanks @N0rbert for your interest in my problem. I can email you epub document if you want to producing the problem. Thanks – MYaseen208 Apr 29 '18 at 10:49
  • You can start with simple document from https://bookdown.org/yihui/bookdown-demo/bookdown-demo.epub , it converts normally. If you are the author of epub, you can produce many output formats from RMarkdown (bookdown). – N0rbert Apr 29 '18 at 11:00
  • conversion is document dependent. – MYaseen208 Apr 29 '18 at 11:10
  • See also my answer below... When you say "No respect for page break and other stuff. More number of pages than the actual...." you seem to be under the assumption that the EPUB's page layout should be maintained when converting to PDF with the help of Pandoc. This assumption is false. If you *need* that feature (but *why* would you want that??), your only choice is to make screenshots from each page of the EPUB, and convert these images into PDF pages. However, not even one EPUB viewer lets the same EPUB doc render like the next viewer.... – Kurt Pfeifle Dec 26 '18 at 17:43

3 Answers3

6

Have you tried the latest version of Pandoc, which currently is v2.5?
Have you tried to play with '--epub-chapter-level=...' numbers?
Have you tried to play with '--top-level-division=section' (or ...=part or ...=chapter) for the output?
Have you tried with the LuaLaTeX engine`?

pandoc      \
  -f epub   \
  -t latex  \
  -o my.pdf \
  --epub-chapter-level=1 \
  --pdf-engine=lualatex  \
   test.epub 

Have you tried a non-Pandoc tool like Calibre?

Kurt Pfeifle
  • 4,495
0

EPUB -> RTF -> PDF , without Pandoc, on Ubuntu 20.04:

I've converted EPUB to Rich-Text-Format (RTF) with Ebookreader Calibre first, then opened the newly created RTF from within the Calibre GUI. (Do not look for the RTF file in your current directory).

Calibre 4.99 used my Libreoffice Writer to open the RTF. From Writer I was able to export the RTF to PDF.

This worked for a PDF that was almost exlusively text. It contained very few graphics except for chapter markers, company logos etc.

knb
  • 5,004
0

Using pandoc 3.1.12.1, I couldn't get images to work using -t html, so I'd recommend using latex instead. I used xelatex like this:

pandoc -V fontsize=12pt -V geometry:margin=1in -f epub -t latex -o texas.pdf --pdf-engine=xelatex texas.epub