Loading...
 
Skip to main content

History: mPDF

Preview of version: 66

 mPDF

Overview

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. mPDF was written by Ian Back and is released under the GNU GPL v2 licence. mPDF is manually installable in Tiki since Tiki15. Since Tiki18 you can install mPDF with the new Packages feature from the Tiki admin panel in a few clicks.


Installation

Please mind, that mPDF does not work in/behind an http-password protected directory; at least not with a simple standart installation without extra configuration.


This is the Steps 1 and 2 by hand

Step 1


Download the mPDF library to your server, extract (unzip) to an appropriate place in or outside the Tikiroot (Tiki installation directory).

References:

Download http://www.mpdf1.com/mpdf/index.php
get the newest stable version or
https://github.com/mpdf/mpdf/archive/development.zip
try the newest developer version
Github https://github.com/mpdf/mpdf
Documentation https://mpdf.github.io/
'mpdf Manual'
Manual as PDF http://www.mpdfonline.com/repos/mpdfmanual.pdf


Recommended places to install mPDF:

either here inside the Tikiroot:

A :
Copy to clipboard
files/mpdf


or here inside the Tikiroot:

B :
Copy to clipboard
vendor_custom/mpdf


or outside the Tikiroot (recommended for security reason):

C :
Copy to clipboard
in a structure like this (recommended example): a "container" for the project: /myproject a directory for the filegallery (do not use the database for file upload!): /myproject/files/* the Tikiroot (main installation): /myproject/tiki16 and here the extracted mpdf directory: /myproject/mpdf
Step 2


Make the following directories inside mPDF writable (in worst case "#: chmod -R 777 path/to/directory"):

this:

Copy to clipboard
graph_cache


and this:

Copy to clipboard
tmp


and this one aswell:

Copy to clipboard
ttfontdata

alternative option: Steps 1 and 2 using composer in the command-line

Required: command line access, and composer package installed. You can install composer with commands like (afapt to your OS or linux distribution):
Copy to clipboard
sudo apt-get install composer


Since mPDF is on https://composer.tiki.org/ , you can run this command from the tikiroot folder

Copy to clipboard
composer require mpdf/mpdf --update-no-dev


This will install mPDF in vendor/mpdf/mpdf (which you need to set in the admin panel). It is vendor/mpdf/mpdf and not just vendor/mpdf/

Alternatively, you could use this longer instruction if you need for some reason (which would get the data as per specifications at https://packagist.org/packages/mpdf/mpdf ):

6.1.3 is latest stable version as of writing this
Copy to clipboard
php temp/composer.phar require mpdf/mpdf "6.1.3" --update-no-dev


This will install mPDF in vendor/mpdf/mpdf (which you need to set in the admin panel). It is vendor/mpdf/mpdf and not just vendor/mpdf/

You still need to set permissions as described above. This is supposed to be handled by Composer but somehow is not as of writing this.


This will modify your composer.json file. If you are running from SVN, this modification will be maintained as you do "svn updated". But if you install via FTP (The zip archive of Tiki), you will need to run this command at each upgrade.

Step 3


Enable mPDF in Tiki:

Up to Tiki 15.x (and up to 16.1):

  • Go to Control Panel > General > General settings (tab) > PRINT > mPDF
    ( example.com/tiki-admin.php?page=general#contentadmin_general-2 )
    and select the path where you did install mPDF to.

Since Tiki 16.2:

  • Go to Control Panel > Print Settings > PDF > PDF from URL > mPDF
    ( example.com/tiki-admin.php?page=print )
    and select the path where you did install mPDF to.


Path to be set in the input field (opens when PDF and mPDF is chosen):

Steps 1 and 2 by hand:

  • A :
    Copy to clipboard
    files/mpdf
  • B :
    Copy to clipboard
    vendor_custom/mpdf
  • C :
    Copy to clipboard
    ../mpdf

Steps 1 and 2 by command line (composer)

  • Copy to clipboard
    vendor/mpdf/mpdf


Tiki 18
From Tiki18 you can install mPDF via the Composer Web Installer

Then login to your Tiki and got to example.org/tiki-admin.php?page=print and set the following two preferences:

  • PDF from URL: mPDF


See also: PluginPDF



Configuration


Although mPDF should work with Tiki out of the box even on average shared hosting, when you followed the above steps, you will have "only a basic configuration" at this point. There are tons of options that allow you to play with additional Fonts, creating paginated PDF documents, hiding the source URL etc., which you will find in the manual (see above references).

Main configuration of mPDF is located in */mpdf/config.php plus a number of more specific config files in the same directory.

Related

Collection of References on doc.tiki.org

PDF general overview about PDF creation in Tiki
mPDF create PDFs from Tiki content (advanced library that works even on shared hosting)
PluginPDF alter default settings of mPDF per wiki page
PluginPDFPageBreak add a page break for PDFs created with mPDF
wkhtmltopdf create PDFs from Tiki content (needs root installation)
dompdf used for pdf print of slideshows
PluginMediaPlayer display PDF file from file gallery
PluginArchiveBuilder
Print


History

Information Version
Josue Zirimwabagabo 82
Josue Zirimwabagabo 81
Josue Zirimwabagabo 80
Marc Laporte Put URL higher on page 79
Torsten Fabricius 78
Torsten Fabricius 77
Philippe Cloutier Overview: more exact introduction (16->15.2) 76
Marc Laporte 75
Marc Laporte 74
Marc Laporte 73
Marc Laporte 72
Marc Laporte 71
Marc Laporte 70
Marc Laporte 69
Marc Laporte 68
Marc Laporte Now that things we done cleanly in 18.x, we don't need the manual (and confusing) documentation 67
Marc Laporte Tiki17 is no longer supported 66
Marc Laporte Tiki 17 is no longer supported. Interesting info moved to 18.x section 65
Marc Laporte Use Tiki18 64
Marc Laporte Just use Tiki18 63
Marc Laporte 62
Marc Laporte 61
Marc Laporte 60
Marc Laporte That domain expired 59
Torsten Fabricius 58
Torsten Fabricius 57
Torsten Fabricius 56
Torsten Fabricius 55
Torsten Fabricius 54
Torsten Fabricius 53
Torsten Fabricius added Related 52
Marc Laporte 51
Marc Laporte 50
Torsten Fabricius 49
Torsten Fabricius should be halfway nice and readable now (again) 48
Torsten Fabricius ty better using BOX inside TABS 47
Torsten Fabricius test format 46
Torsten Fabricius needed to change formattimg for that TABS and maketoc fit together 45
Torsten Fabricius allocated all installation hints to one place, using the TABS plugin 44
Marc Laporte 43
Torsten Fabricius demoted my just added headline by one level for the sake of consistency 42
Torsten Fabricius added Tiki version destiction on top of "Installation" ... maybe Tabs ... the mpf improvement with Tiki 17 makes a HUGE difference!! Thx guys!!! 41
Marc Laporte 40
Marc Laporte 39
Marc Laporte 38
Marc Laporte Distinct, simpler instructions for Tiki17 37
Marc Laporte Edit restored by rescue script 2017-04-24T18:09:12+00:00 36
Xavier de Pedro Edit restored by rescue script 2017-04-24T18:09:12+00:00 35
Xavier de Pedro Edit restored by rescue script 2017-04-24T18:09:12+00:00 34
Xavier de Pedro Edit restored by rescue script 2017-04-24T18:09:12+00:00 33
  • «
  • 1 (current)
  • 2
Collapse/expand modules below