Data Access and Custom Reports

The default PaperCut NG installation stores data in an internal database. For the interested person, the database is Apache Derby - an open source database written by IBM and based on their DB2 Cloudscape Database. The internal database is optimized for embedded use, is very robust, ACID compliant and scales well. The internal database however is not designed for multi-application access. To access the data from an exteral source such as a reporting program, you'll need to consider running PaperCut NG on an external database (RDMS) designed for multi-user and multi-applicaiton user access. Common database solutions include Microsoft SQL Server, Oracle, PostgreSQL and MySQL. For more information see Chapter 20, Deployment on an External Database (RDBMS).

The PaperCut NG data structure is relatively simple and people with Crystal Reports, MS Access or SQL experience should have no problems extracting data or written custom reports. Report developers should keep in mind:

A database schema diagram can be found in the PaperCut NG knowledge base located at Database Schema Diagrams.

Plain Text Print Log

In addition to storing print log information in the database, a real-time, plain text log is also written into the directory:

            [app-path]/server/logs/print-logs
            

The log file is in a tab delimited format and a new log is created for each day. Files are named with the format printlog_yyyy_mm_dd.log and files are archived for 30-days. The tab delimited file can easily be imported into programs such as Microsoft Excel, Microsoft Access or other database.

FieldDescription

Field 1

Date in format yyyy-MM-dd\th:mm:ss a/p

Field 2

Server Name

Field 3

Printer Name

Field 4

User who printed the document

Field 5

Account charged (usually the user's personal account but could be a shared account)

Field 6

Client/Workstation Name

Field 7

Document name

Field 8

Total number of pages

Field 9

Total number of color pages

Field 10

Number of copies (this has already been used to calculate the total pages).

Field 11

Cost

Field 12

Duplex status

Field 13

Grayscale status (Color mode)

Field 14

Paper Size (e.g. Letter, A4)

Field 15

Paper Height in Millimetres (divide by 24.5 for inches)

Field 16

Paper Width in Millimetres (divide by 24.5 for inches)

Field 17

Print job size in KB

Field 18

Printer Language

Field 19

Cost Adjustments (comma separated)

Field 21

Job Type (PRINT)

Table 16.6. Text print log file format