What MTLDA already can do for you

  • Import documents...
    • ... from a directory
    • ... via HTTP upload
    • polling an IMAP or POP3 mailbox
  • Document archiving
    • Signing PDF documents with a x509 certificate (SD-DSS required, Tomcat-based)
    • Keywords and Description
      • Keywords are automatically suggested based on document content and other similar archived documents
    • Customise key date
      • Dates are automatically suggested based on filename, document content etc.
    • auto-expire documents
  • Document Indexing
    • text-parts
    • OCR text recognition of embedded images (tesseract-ocr required)
  • PDF preview pdf.js


A public MTLDA installation is available at

Please note:
  • HTTP upload function is disabled (and by this invisible in the UI)
  • Mail import function is disabled (and by this invisible in the UI)
  • No documents are currently imported


  • Webserver with Rewrite support (e.g. Apache)
  • PHP >= 5.6
  • Database
    • MySQL >= 5.6.4
    • MariaDB

If you want to electronically sign a PDF document and possibly add an electronic timestamp to ensure its integrity, you need to install and configure SD-DSS (Java, Tomcat-based). MTLDA will then access SD-DSS via its SOAP interface. Advantage is that SD-DSS provides all the features required to sign and timestamp a document (also for long-term-validation). So this functionality does not need to be provided by MTLDA. Also with SD-DSS the private-key of your x509 Certificate remains only known to MTLDA only. SD-DSS is only acting based on the public key of the x509 Certificate.


See the Roadmap page.


There is an mailing list at (subscription required!).
See for how to subscribe and more.



Clone the GIT repository to somewhere on your webserver. For example

cd /opt
git clone

Webserver Configuration

Configure the web server with the DocumentRoot set to /opt/mtlda/public.

DocumentRoot /opt/mtlda/public
<DocumentRoot /opt/mtlda/public>
AllowOverride All

or for an existing virtual host you can add

Alias /mtlda/ /opt/mtlda/public/
<DocumentRoot /opt/mtlda/public>
AllowOverride All

Configure MTLDA

create your own custom configuration

cd /opt/mtlda/config
cp config.ini.dist config.ini

You can remove all the lines from config.ini that you do not want to change. The default settings from config.ini.dist will then be used.

Invoke the Installer

Access MTLDA by browser. For example by http://yourwebserver/mtlda/.
The application should detect that the database tables are missing and refer you to the installer.


To ease speaking "MTLDA" the project name is pronounced as "Matilda" - a woman's name