SpoolTemplate (SpTpl) is a report system based on templates. It allows to build reports from database queries using just few lines of code.
Main features:
- Based on XML configuration files (each report has its own configuration files)
- To build a single report it requires few lines of PHP code as it is mainly based on the configuration files
- Output type: text file, PDF, printer (only Windows box)
- It gets the data to print from query or from globals variables
- You may output the data from your custom function (optionally you may pass as parameter the fields returned by the query)
- Each report may contain many tables and each table may display data from different queries eventually from different databases
- It supports page header and page footer (with page numbering) and page and margin sizes
- The databases suported by the current version are: MySQL, MSSQL and ODBC. You may write the extension to support other databases and specify it in the configuration file
- Text alignment (left, center, right)
- You may set the font name, the font size and decoration for each row
This package generates a spool file holding the report. You may manage that file at your convenience (i.e. print it using printer spooler commands as lp or similar, send it by e-mail, etc..)
This package parses a configuration file holding the detail how to build the report. It executes the instructions listed in that file and write the report as spool file.
Inside the configuration file there are directives that specify what text write as page header and footer, where to output the data (the sources are database or global variables).
After you define the data source query, the module executes the query, saves the columns of the rows returned from the query as normal variables, that change their values row by row; so you may access those columns as normal variables without distinction from data coming from query or data from PHP script or predefined constant.
You may monitor the field values. If those fields change their values, you may define what is outputted before and after each table. This is useful to generate special headers or total rows when you generate several tables grouped by one or more query fields.
The outputted values may come from user function. You may define your own function and use the returned values in the report in the place of a regular query field. This function may get its parameters from the report query fields.
This package provides an abstract interface for printing documents.
Currently the package includes one implemented class that allows printing of basic text or preformatted (.prn) document files using the LPR protocol
The data to be sent to the printer can be either a filename or a string.
The driver interface provides hooks in the code to allow development of printer filters (drivers). Other driver classes can be developed to implement custom printer filtering like for instance to send documents to Postscript printers.
Aprint is a small class built to print many text directly from PHP at server side when the Web server is running under Windows.
Features:
- Set the page margins
- Define many font parameters like font type, size, underline
- Use different font type for each line
- Automatically start new page when the previous is full
- Simple page numbering
- May choose which printer to use
- Text alignment, left, center, right (work only with fixed size font)
This package can be used to generate HTML pages adjusted for printing.
It looks for certain tags in a page HTML template that delimit the page content that should be extracted from the normal page version to generate the printable version.
The class can also process links to display their URL near the link text in the printable version.
The images may also be removed from the content that is used to generate the printable version.
The printable version output is defined using a separate page template.