views:

213

answers:

2

I'm writing a WordPress plugin to create an eBook from a selected category in most major eBook formats. I would like to support MobiPocket since that's the format used by the Kindle but I'm not sure how to go about it. From what I've read .mobi files are actually Palm Resource Databases (PRC) but I haven't been able to find a PHP class to work with these.

I thought about using exec along with KindleGen but that would be undesirable as it would complicate initial setup. I've also thought about hosting a web service somewhere and using XML-RPC to accomplish this but that also complicates things.

My question is: is there a PHP class/library (PHP-only preferred) that can work with PRC or even better, a class that specialises in creating MobiPocket ebooks? (needs to be open source since I'm releasing under the GPL)

I've tried searching but haven't been able to find anything.

+1  A: 

Unfortunately not; however, the binary compiled format is an open specification available at: http://www.mobipocket.com/dev/article.asp?BaseFolder=prcgen

The only direct way of transforming the uncompiled format is using the native XML functionality of PHP to create them and then invoking a compiler with exec, which I understand you don't want to do. If you go with this route, the link above also has details about this XML format.

David Pfeffer
I was afraid of that. I guess I'll pursue a route supporting both MobiPocket creation using KindleGen if the user is willing to set it up and an external web service if they don't. Will give me a real project to finally learn another language - hopefully one of my candidates (Python, Ruby, Java or C# - in order of preference) has something that will easily create a MobiPocket ebook otherwise I guess I could use KindleGen on Amazon EC2 if needed.
Chris Clarke
A: 

You might want to try the mobiperl tools,

https://dev.mobileread.com/trac/mobiperl/wiki

Please note I haven't tested them yet. But they have been around since at least 2007 so they should work well by now. google "Mobiperl - Perl tools for handling MobiPocket files" to find a thread on mobileread board discussing it. As a new poster I can't put 2 hyperlinks into my reply.

Scott Wickham
Thanks, I'll take a look at this. I haven't made much progress yet. I've been occupied with little coding time. :(
Chris Clarke