Which way(s) should we go for the Online Publishing House, in terms of going from Tiki content to a consumable format:
- Print on demand (POD)
- Mobile App
The research below is kept for posterity.
For background info, see: How to Produce a Book
This will also be useful for Business Plans. Let's review some potential options
Booki which became Booktype
Booki uses: WYSIWYG HTML -> Objavi -> PDF, ODT or EPUB.
Objavi takes Booki-zip files from Booki and currently outputs to PDF (web readable, book formatted, and newsprint formatted), ODT, and EPUB.
We would do: Wiki syntax (with some relevant logic) -> HTML5 with flat output -> Objavi -> PDF, ODT or EPUB.
This is already how Tiki does it with wkhtmltopdf but it's pretty basic.
How Wikipublisher seems to do it: Wiki syntax -> LaTeX -> PDF
How we would do it: (Parser needs to be reworked)
- Wiki syntax (with some relevant logic) -> HTML5
- Wiki syntax (with some relevant logic) -> wikibook XML -> LaTeX -> PDF
This will increase desire for a WYSIWYG editor which maintains wiki syntax.
How can we produce an EPUB or a .odt in this process?
PressBooks is a book-making tool that outputs as: epub, print-ready PDF, HTML, and InDesign-ready XML. Built on WordPress.
They also use (used?) Wikipublisher
And more recently are supporting mPDF
WeasyPrint is a visual rendering engine for HTML and CSS that can export to PDF.
Book creator and PediaPress
Rather than trying to fetch all pages selected for printing (curent tiki-print) have a look at MediaWiki's http://en.wikipedia.org/wiki/Special:Book which uses http://en.wikipedia.org/wiki/TeX (only for math)
Some technical descriptions on how MediaWiki's book creator works and which problems may occur: http://en.wikipedia.org/wiki/Help:Books/for_experts
export format: PDF or ODF or ZIM
WikiBooks HTML output
All options on packagist
Using Apache FOP
- 0.7.0 Beta release
- http://dompdf.github.io/ is already part of Tiki via Slideshow export features in Tiki9
- "mPDF is a PHP class which generates PDF files from UTF-8 encoded HTML. It is based on FPDF and HTML2FPDF, with a number of enhancements."
- License: GPL
- Booktype can use a variety of renderers to convert a book's HTML chapters into a single PDF file for export. mPDF 6.0 (http://www.mpdf1.com) is currently recommended, due to its extensive support for pre-press features including CMYK and spot colours, bleeds and crop marks, right-to-left and bi-directional text, and typographical hints in non-Latin scripts.
- "The Zend_Pdf component is a PDF (Portable Document Format) manipulation engine. It can load, create, modify and save documents. Thus it can help any PHP application dynamically create PDF documents by modifying existing documents or generating new ones from scratch."
- SVG support (which we need for Tiki Draw.)
- Forms with JS
- Digital signature certification
- 2D barcodes & QR-Code. See also: Barcode and QR code
- And many more...
There seems to be three with the same name:
- HTML2PDF is a HTML to PDF converter written in PHP. It allows the conversion of valid HTML 4.01 in PDF format, and is distributed under LGPL. This library has been designed to handle mainly TABLE intertwined to generate invoices delivery, and other official documents. It does not yet have all the tags.
Horde PDF library
Convert plain text documents written in HTML, Markdown, or LaTeX to PDF, Docx, RTF or ePub with a simple HTTP API.
We could do like this too:
HTML5 and PhantomJS
eZ Components - Document
PDF using Flash
- MarMatMak is short for « Marketing Material Maker »,
- Uses iText
- In Python
Output to ODF
AsciiDoc is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, man page.
AsciiDoc is highly configurable: both the AsciiDoc source file syntax and the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by the user.
See also: Wiki Parser Revamp
An idea for mobile devices
See Online Publishing House - Mobile app