making ePub with Java API

robob picture robob · Mar 25, 2011 · Viewed 8.8k times · Source

I'm relatively new to ePub format, but if I understand well, to make programmatically an ePub starting from XHTML or PDF content could mean:

  • choose HTML or XHTML content and validate them with an XHTML validator (or clean them with Tydy)
  • choose PDF file to insert in the ePub
  • create the XML manifest or XML packing files and TOC file
  • zip the whole files in a .epub file
  • validate the ePub (I saw something in Google code)

So my question is if there is some sort of high level Java API to do these steps. Sure I can use API for ZIP, XML in Java, but does it exist higher tools?

thanks a lot

------ EDIT -------

I've developed an open source project to do that!

http://scribaebookmake.sourceforge.net/

Answer

Edwin Buck picture Edwin Buck · Mar 25, 2011

I haven't seen a java epub toolchain; however, I have been having good success with Sigil.

If the goal is to make an epub, I'd give Sigil a go. Before I used it I was rolling my epubs by hand (with the automation of an ant build.xml).

If the goal is to make a java based epub toolchain, then it shouldn't be terribly hard, depending on how much validation and pipelining you wish to do. Personally, I'd start with writing an epub viewer.

As far as the PDF parts go, I just embed XHTML. Haven't had a need for embedding PDF yet. As far as epub validation goes, if all the xml is valid and there's no dangling links prior to zipping, you're going to have a valid epub.