PHPackages                             oat-sa/extension-tao-booklet - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. oat-sa/extension-tao-booklet

ActiveTao-extension[PDF &amp; Document Generation](/categories/documents)

oat-sa/extension-tao-booklet
============================

An extension for TAO to create test booklets (publishable in MS-Word and PDF along with Answer Sheets)

v4.4.3(1y ago)613.4k4[1 issues](https://github.com/oat-sa/extension-tao-booklet/issues)GPL-2.0-onlyPHPCI failing

Since Mar 20Pushed 3mo ago46 watchersCompare

[ Source](https://github.com/oat-sa/extension-tao-booklet)[ Packagist](https://packagist.org/packages/oat-sa/extension-tao-booklet)[ Docs](http://www.taotesting.com)[ RSS](/packages/oat-sa-extension-tao-booklet/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (12)Versions (77)Used By (0)

extension-tao-booklet
=====================

[](#extension-tao-booklet)

An extension for TAO to create test booklets (publishable in MS-Word and PDF along with Answer Sheets)

Warning
-------

[](#warning)

Due to the move to `ES2015`, some code might not work on legacy browsers. Especially for code that use to rely on polyfills, like for the `Promise`. The polyfills are now linked only when the code is bundled, and are not reachable anymore in development mode. For that reason, and because `wkhtmltopdf` is not supporting ES2015 and requires polyfills, the generation of PDF only works with bundled version (aka production mode).

From version `4.2.0` of `taoBooklet`, the page rendered to get the PDF will always use bundles transpiled to ES5. This applies no matter if the mode is set to development or production. This implies that any change made to the source code will need to pass trough a re-bundling:

```
cd tao/views/build
npx grunt taobookletbundle
```

For version `4.1.1` and older, you still need to activate the production mode as follows:

- open the config file `config/generis.conf.php`, and set the constant `DEBUG_MODE` to `false` (around line 50):

```
#mode
define('DEBUG_MODE', false);
```

Configuration
-------------

[](#configuration)

The file `config/taoBooklet/wkhtmltopdf.conf.php` contains entries for setting up the tool:

- `'binary'` - The path to the installed binary, usually `/usr/local/bin/wkhtmltopdf`.
- `'options'` - A set of option for controlling the rendering. See below.

### wkhtmltopdf options

[](#wkhtmltopdf-options)

OptionDescriptionDefault value`'header-html'`The path to the header template added to each page.`'taoBooklet/views/templates/PrintTest/header.html'``'footer-html'`The path to the header template added to each page.`'taoBooklet/views/templates/PrintTest/footer.html'``'margin-bottom'`The margin added to top of the page.`10mm``'margin-top'`The margin added to bottom of the page.`10mm``'page-size'`The page size format: A4, Letter, etc.`'A4'``'orientation'`The page orientation: Portrait or Landscape.`'Portrait'``'user-style-sheet'`Specify a user style sheet, to load with every page.noneNote: additional options supported by wkhtmltopdf can be added here too. For a complete list, see:

Requirements
------------

[](#requirements)

This extension needs a third-party tool to generate the PDF files. So to be able to generate the booklet, you should install `wkhtmltopdf` on your server.

If you are using Ubuntu you can use these commands:

```
sudo apt-get update
sudo apt-get install wkhtmltopdf

```

However, depending on the version of your system, the installed version of `wkhtmltopdf` may not fully comply with the requirements, as there is some issues with QT when trying to render header and footers. If you encounter errors when generating the document, you should install the tool using these commands:

```
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.jessie_amd64.deb

```

After that you can use `/usr/local/bin/wkhtmltopdf` in your configuration

For Debian-based distributions, you may need to do an additional step to install some dependencies:

```
sudo apt-get update
sudo apt-get install wkhtmltopdf
sudo apt-get install libxrender1 fontconfig xvfb
sudo apt --fix-broken-install

```

If the previous steps fail, you may try to use a binary, non-packaged distribution instead.

```
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xf  wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
cd ./wkhtmltox/bin/
sudo cp -R ./* /usr/bin/
sudo cp -R ./* /usr/local/bin/
wkhtmltopdf -V

```

Please refer to  for an updated list of `wkhtmltopdf` packages for Ubuntu and other distributions. You may find a list of source, binary and packages for v0.12.5 at [GitHub](https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5) as well.

Deprecated: Please note that the version 0.12.4 has a bug which was fixed in the version 0.12.5: sometimes footers and headers not provided in the pdf

```
sudo apt-get update
sudo apt-get install libxrender1 fontconfig xvfb
wget https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -P /tmp/
cd /usr/share/
sudo tar xf /tmp/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
sudo rm /usr/bin/wkhtmltopdf
sudo ln -s /usr/share/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf

```

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance62

Regular maintenance activity

Popularity31

Limited adoption so far

Community31

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~55 days

Recently: every ~178 days

Total

54

Last Release

391d ago

Major Versions

v0.4.0 → v1.0.02017-04-28

v1.14.3 → v2.0.02018-11-02

v2.1.0 → v3.0.12019-03-29

v2.1.2 → v3.7.32021-01-15

v3.7.4 → v4.0.02021-02-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/98ddc6f1b615b1fac2d59f1e72d5dc6056cf6650414271da90cb3f0e203516fe?d=identicon)[bugalood](/maintainers/bugalood)

![](https://www.gravatar.com/avatar/c0ec704e0a8abaf0c27b227ad05d7aca23bc8f83d195229d94d4508cddc0fd24?d=identicon)[oat-lionel](/maintainers/oat-lionel)

![](https://www.gravatar.com/avatar/e8c30644c0da147701176483ca1ca40e1c41012e6c5b0da47e984c1eb8a840b1?d=identicon)[jbout](/maintainers/jbout)

![](https://www.gravatar.com/avatar/348b2cf6408227372fbb22c6e8b0832e1c8c98c5d6b0c88bb220dbdfbcd21a39?d=identicon)[krampstudio](/maintainers/krampstudio)

---

Top Contributors

[![jsconan](https://avatars.githubusercontent.com/u/1500098?v=4)](https://github.com/jsconan "jsconan (160 commits)")[![krampstudio](https://avatars.githubusercontent.com/u/468620?v=4)](https://github.com/krampstudio "krampstudio (32 commits)")[![albertosgz](https://avatars.githubusercontent.com/u/12124175?v=4)](https://github.com/albertosgz "albertosgz (14 commits)")[![ssipasseuth](https://avatars.githubusercontent.com/u/8425344?v=4)](https://github.com/ssipasseuth "ssipasseuth (13 commits)")[![zagovorichev](https://avatars.githubusercontent.com/u/1445911?v=4)](https://github.com/zagovorichev "zagovorichev (12 commits)")[![bugalot](https://avatars.githubusercontent.com/u/4217431?v=4)](https://github.com/bugalot "bugalot (12 commits)")[![siwane](https://avatars.githubusercontent.com/u/8009602?v=4)](https://github.com/siwane "siwane (11 commits)")[![shpran](https://avatars.githubusercontent.com/u/59471572?v=4)](https://github.com/shpran "shpran (9 commits)")[![tikhanovichA](https://avatars.githubusercontent.com/u/1053022?v=4)](https://github.com/tikhanovichA "tikhanovichA (9 commits)")[![jbout](https://avatars.githubusercontent.com/u/5815304?v=4)](https://github.com/jbout "jbout (9 commits)")[![SergiiTao](https://avatars.githubusercontent.com/u/36041347?v=4)](https://github.com/SergiiTao "SergiiTao (8 commits)")[![peetya](https://avatars.githubusercontent.com/u/18699247?v=4)](https://github.com/peetya "peetya (8 commits)")[![alroniks](https://avatars.githubusercontent.com/u/303498?v=4)](https://github.com/alroniks "alroniks (7 commits)")[![bziondik](https://avatars.githubusercontent.com/u/25976342?v=4)](https://github.com/bziondik "bziondik (7 commits)")[![gyszucs](https://avatars.githubusercontent.com/u/4942018?v=4)](https://github.com/gyszucs "gyszucs (7 commits)")[![ionutpad](https://avatars.githubusercontent.com/u/31656944?v=4)](https://github.com/ionutpad "ionutpad (6 commits)")[![antoinerobin](https://avatars.githubusercontent.com/u/5881795?v=4)](https://github.com/antoinerobin "antoinerobin (6 commits)")[![handleman](https://avatars.githubusercontent.com/u/2877242?v=4)](https://github.com/handleman "handleman (5 commits)")[![ricproenca-tao](https://avatars.githubusercontent.com/u/45600417?v=4)](https://github.com/ricproenca-tao "ricproenca-tao (4 commits)")[![edwin-focaloid](https://avatars.githubusercontent.com/u/126317720?v=4)](https://github.com/edwin-focaloid "edwin-focaloid (4 commits)")

---

Tags

TAOcomputer-based-assessment

### Embed Badge

![Health badge](/badges/oat-sa-extension-tao-booklet/health.svg)

```
[![Health](https://phpackages.com/badges/oat-sa-extension-tao-booklet/health.svg)](https://phpackages.com/packages/oat-sa-extension-tao-booklet)
```

###  Alternatives

[oat-sa/tao-core

TAO core extension

66136.7k74](/packages/oat-sa-tao-core)[oat-sa/extension-tao-itemqti-pci

1085.9k6](/packages/oat-sa-extension-tao-itemqti-pci)[oat-sa/tao-community

TAO is an Open Source e-Testing platform that empowers you to build, deliver, and share innovative and engaging assessments online – in any language or subject matter.

104.9k1](/packages/oat-sa-tao-community)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
