Data access and custom reports
The default, PaperCut NG/MF installation stores data in an internal database. 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 external source, such as a reporting program, consider running PaperCut NG/MF on an external database (RDBMS) designed for multi-user and multi-application user access. Common database solutions include Microsoft SQL Server, Oracle, PostgreSQL, and MySQL. For more information see Deployment on an external database (RDBMS).
The PaperCut NG/MF data structure is relatively simple and people with Crystal Reports, MS Access, JasperSoft Studio, or SQL experience should have no problems extracting data or writing custom reports. Report developers should keep in mind:
Access the data only in read-only mode. Modifying data directly underneath the application can cause unpredictable behavior.
Always test any custom reports after an upgrade as the underlying data format might have changed. PaperCut Software developers try to minimize data structure changes but they are expected to occur in major upgrades.
You can find a database schema diagram in the PaperCut NG/MF knowledge base located at Database Schema Diagrams.
In addition to storing print log information in the database, a real-time, plain text log is also written into the directory:
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 be easily imported into programs, such as Microsoft Excel, Microsoft Access. or other databases.
|Field 1||Date in format |
|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 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)|