Extension:PdfBook

The PdfBook extension composes a book from pages in a category and exports them as a PDF file.

Overview
Categories are a good way of organizing many articles, which comprise a book. One can use the sort keys in the "pages" categorization statements to ensure they are correctly ordered. This extension allows such categories to be compiled into downloadable PDF files with a table of contents, each page forming the start of a new chapter.

Usage
The PDF creation is initialized by the "pdfbook" action, so a category can be downloaded as a PDF book directly from a link such as: https://www.example.org/wiki/index.php?title=Category:foo&action=pdfbook

A more generic way of creating the link is to use the "fullurl" parser function and    variable as in the following example: [ download this selection of pages as a PDF book] This link can then be added to a template which can be transcluded into any category or page suitable for downloading as a book. For an example of such a template, see OrganicDesign:Category:I am that, which uses OrganicDesign:Template:Book to display the message and download link.

In order to include this parser function link automatically to every category page, add it to the Mediawiki:Category-article-count page.

This extension also allows books to be generated from non-category pages as well. If the page to be downloaded as a book is not a category, then the extension will extract the titles from page links in a bullet list. The list may be explicitly defined, or may be the result of a query. For an example of this functionality, see Creating a PDF book from a DPL query

Raw HTML output
You can download the file as a single HTML document by setting format=html in the query-string. Example: https://www.example.org/wiki/index.php?title=Main_Page&action=pdfbook&format=html

Single page exports
You can export a single page as a one-page PDF by setting format=single in the query-string. Example: https://www.example.org/wiki/index.php?title=Main_Page&action=pdfbook&format=single

Page Breaks
You can add page breaks into your book by adding  into the relevant places in the content pages.

Configuration
Here are the parameters which affect the operation of the extension. These should be set in your "LocalSettings.php" file after invoking the extension.

Limitations

 * UTF-8 support of HTMLDOC is limited to the first 128 Unicode characters found in the input.