I'm able to view an epub file in, say, okular, select all the text and copy-paste into a text editor. I'd like a command line method - anyone know of such a thing?
5 Answers
I don't know if Calibre is worth installing for your job, but if you have it you could use the powerful ebook converter:
ebook-convert input.epub output.txt
Output format is deducted from output file extension
I imagine there could be some XML tools/scripts (XSLT) that can transform epub in text as epub is basically XHTML in ZIP archive
-
1Calibre (and it's "ebook-convert") is very powerful tool indeed! Thanks!– drevickoCommented Feb 10, 2012 at 7:28
-
1If you've installed calibre on OS X, the command line tool can be found here:
/Applications/calibre.app/Contents/MacOS/ebook-convert
.– funrollCommented Jan 2, 2016 at 18:15 -
If you use the command line tool, you might have to configure or set options to get proper output or you could end up with the wrong encoding when converting from epub to plain text for example. Using the app interface, default settings seems to work fine. Commented May 1, 2017 at 12:01
-
from the documentation, "The options & defaults change, depending on both the input & output formats, so you should always check with:
ebook-convert input.format output.format -h
" (see: manual.calibre-ebook.com/generated/en/ebook-convert.html )– michaelCommented Dec 22, 2020 at 9:39
An alternative is epub2txt by Kevin Boone, available on Github.
epub2html is a simple command-line utility for extracting text from EPUB documents and, optionally, re-flowing it to fit a text display of a particular number of columns. It is written entirely in ANSI-standard C.
Usage example:
epub2txt input.epub > output.txt
-
1from the linked github page (as of 2020): "Please note that this version of epub2txt is obsolete. It has been completely re-implemented as a new project, epub2txt2" github.com/kevinboone/epub2txt2– michaelCommented Dec 22, 2020 at 9:49
MuPDF can convert from epub
to html
and txt
. To install it:
sudo apt install mupdf mupdf-tools
To use it:
mutool convert -o somefilename.txt somefilename.epub
It assumes txt
output from the -o
option.
See mutool convert
documentation for more information.
Maybe Calibre can suit your needs.
See What formats does calibre support conversion to/from? for information on supported formats.
-
3Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.– hhlpCommented Mar 23, 2013 at 10:49
To convert an epub document to plain text from terminal:
pandoc input.epub | lynx --stdin --dump > output.txt
It is assumed that pandoc
and lynx
are already installed.