Practical phpdocx

Set-up, download and configuration

Introduction

phpdocx is a software library designed to generate dynamic DOCX documents. It allows to create documents from scratch, using Word-generated templates, where you can add texts, tables, images, graphic charts, sections and so on, import HTML/CSS content, export a PDF file and many other features.

The document-generation tasks, as well as template working and conversion plugin features, are fully compatible with Linux, Windows and Mac OS X Operative systems.

There are several, almost unlimited, options for generating documents with phpdocx, either using its basic functionality for creating documents, converting HTML and CSS to WordML, (file format used in DOCX), or protecting your files with passwords, encrypting and signing them, converting to PDF, or merging them.

Whether it is necessary to create a single document or hundreds of thousands, phpdocx is the perfect tool.

All phpdocx paid licenses are open source, meaning that it is possible to modify the code of all classes. Software redistribution is not allowed.

Download

phpdocx is a PHP code programmed proprietary product. There are three versions with different features and restrictions:

Basic

This is elementary license generates documents, works with templates, and converts HTML and CSS to DOCX.

It allows to use the data library in a sub-domain, for example www.domain.com or docs.domain.com.

Advanced

In addition to the Basic license features, this version includes the conversion plugin feature to convert PDF, HTML, ODT and other multiple format files. It also includes classes, the possibility of merging documents and applying watermarks to your files.

You'll be able to use the data library in one domain and all its subdomains, for example www.domain.com and any other subdomain such as www.domain.com and docs.domain.com

Premium

In addition of the Advanced license features, this version offers the encryption plugin, a digital sign feature, and other extra functionalities to optimize the batch processing.

It allows to use the data library in an IP, and all the domains it serves.

Besides executing it in the subdomain/domain or IP address acquired, the license allows you to execute phpdocx in localhost (127.0.0.1) and private networks (A, B and C classes).

Set-up

phpdocx set up is really simple. After purchasing the chosen license, download the TAR.GZ package from the MYPHPDOCX page and copy the files to the server path where you will use the data/software library.

You can extract this package with any extract tool or a graphic application like Xarchiver, WinZip or Winrar.

For Linux, execute the following command in a terminal:

Replacing phpdocx.tar.gz with the downloaded package name.

After extracting the content of the package, you´ll see the following files and directories:

  • check.php: dependency and permissions checking file
  • classes: software library main classes
  • config: set-up files
  • examples: set/group of included examples
  • excel: external files for graphic charts inclusion
  • Faq and docx: general documentation
  • How to install: Set by step installation summary
  • lib: external libraries used
  • LICENSE: License file
  • Readme.txt: Version information and change log
  • templates: sample templates for document generation
  • tutorial: Web site url with the introduction tutorial
  • xsl: external XSL files for making MML to OMML format conversion
Configuration

Each phpdocx license is associated to a product key, which you need to add to the phpconfig.ini file in the config folder. A product key is not required for the trial version.

The phpdocxconfig.ini file contains the following information:

To start using the software library, it is required to add the license code and the purchased sudomain/domain/IP in the “value” section, for example:

We'll review the rest of available options later on this and future pages.

Checking that everything works properly

Before including phpdocx in your own development, framework or CMS, it is recommendable to test the software library independently. The check.php file is available for this purpose, it checks via web and text mode the dependencies and required access rights.

Also, it is advisable to execute one of the included examples using the CLI mode.

For example, execute the sample_1.php example available in the path examples /Core/addText:

php sample_1.php

It generates a DOCX document with a short paragraph.

Common issues

License error

phpdocx only runs with the purchased license, localhost and private networks. If, when using the library, the 'There is not a valid license' exception appears, check that the URL where phpdocx runs matches the purchased license.

Temporary directory

phpdocx uses the temporary path of the operative system to generate temporary files, which help to create the final DOCX document. The user that executes phpdocx, such as the apache user or a system one, must have writing and reading access rights to the temporary directory.

Some hosting services don't allow to write in the temporary directory by default, and ISS has some issues running on the system temporary directories. Either this is your case or you prefer to choose a different route, the temp_path option in the phpdocxconfig.ini file allows to set a custom directory.

For example, to change the temporary directory to /home/web/temp, include the following line:

An important aspect to consider is that the path to this directory has to be absolute, not relative.

Some specific file is missing

Not all files and directories included in phpdocx are necessary to run the library, but a few of them are mandatory. The essential files for proper phpdocx functioning are: classes, config, excel, lib, templates and xsl, along with the files contained by these ones.

Permission issues

All necessary files of the previous point must have reading access rights for the user that executes the scripts.

Destination folder for generated DOCX documents also must have access rights for the user that generates the files.

Next - Creating a new document