Wiki - FAQ
✅2.1 | ✅2.0 | ✅1.9 | ...
- General Questions
- Minimum Requirements
When you purchase Premium Support you are granted the ability to generate an Intermediate Certificate and a public/private key pair to suppress all warning dialogues. This certificate has:
No client/user limitations
No domain restrictions
A single license will suffice for 99% of organizations
The purchase of the premium version also provides technical support for one year. The Technical Support Team of QZ Industries, LLC will work diligently to help integrate the software into your environment. All questions are promised to be answered as fast as possible (usually well within a 24-hour period).
- In order to suppress print warning dialogues, all print requests must be signed using the Intermediate Certificate and private key. An in-depth tutorial explaining how to do this can be found here.
QZ Tray Cost
- QZ Tray is free. Organizations wishing to print silently are required to purchase a certificate from QZ Industries, LLC or implement their own root certificate. Pricing options can be found on QZ's homepage at https://qz.io.
Installing New Version
- Installation of a new version will succeed even if an older version is present and/or running.
- Note: QZ Tray 2.0 is not backwards compatible with QZ tray 1.9.
Minimum System Requirements
|QZ Tray 2.1||Java 8 / OpenJDK 1.8*|
|QZ Tray 2.0||Java 7 / OpenJDK 1.7*|
|QZ Tray 1.9||Java 7 / OpenJDK 1.7|
|QZ Print 1.9||Java 6 / OpenJDK 1.6|
*HTML printing in QZ Tray 2.x requires Java 8 + Java FX.
|Operating System||Minimum Version|
|Apple OS X||OS X 10.7 Lion or higher*|
|Microsoft Windows||Windows XP or higher*|
|Linux||Ubuntu 12.04 Precise or higher|
Version 2.0 or higher requires
512MBof free memory (RAM), recommends
6GBor higher total system memory for raster graphics.
*Safari 5.1.7 is bundled with Lion but is not supported. Alternate browser required.
*Windows XP requires manual certificate installation. Will prompt at install time.
|Web Browser||Minimum Version|
|Safari||Safari 6.0.3 or higher|
|Firefox||Firefox 31 or higher*|
|Chrome||Chrome 31 or higher|
|Internet Explorer||IE 10 or higher*|
|Microsoft Edge||20.x or higher*|
|* Firefox requires a browser restart for HTTPS
|* IE/Edge on domain networks require external DNS access to
Debugging QZ Tray
- QZ Tray places log files in the following locations:
The recommended approach for getting verbose output from QZ Tray is to launch the software from command line. This will expose the Java Console with detailed information about debug messages and exceptions including full backtrace of where a particular exception occurred.
QZ Tray launches with
512MBof memory. We must specify
-Xms512Min the command in order to prevent unexpected behavior and crashing. This unnecessary for Mac unless following the basic syntax (
java -jar qz-tray.jar) . More memory can be allocated but should not be necessary.
java -Xms512M -jar qz-tray.jar
java -Xms512M -jar "%PROGRAMFILES%\QZ Tray\qz-tray.jar"
Mac OS X
/Applications/QZ\ Tray.app/Contents/MacOS/QZ\ Tray
java -Xms512M -jar /opt/qz-tray/qz-tray.jar
Cannot Launch Software
JAVA_HOMEenvironmental variables will prevent QZ Tray from loading. If the software can be launched via the command line this is likely the case. In windows this can be checked by going to System > Advanced system settings > Environment Variables
A corrupt Java installation may prevent the software from installing or loading. A corrupt Java installation is fairly common in Windows, and can be resolved by reinstalling Java using the Java offline installer. The offline installer has been reported to fix many issues with corrupt Java installations. Take a look at this guide for our recommended steps on reinstalling Java on all platforms.
Signs of a corrupt Java install:
"An error has occurred while processing the shared archive file. Unable to unmap shared space. Error occurred during initialization of VM. Unable to use shared archive."
32-bit vs. 64-bit: Some 64-bit workstations have both 32-bit and 64-bit Java versions installed. If both are needed, make sure both are upgraded, otherwise, removing the 32-bit version is advised to assist with the troubleshooting process.
Insufficient Java Version
"A Java Exception has occurred"may appear if attempting to launch against an outdated Java version. For a list of minimum Java requirements see Java Versions.
Cannot List Printers
Due to an upstream bug with Java, printer listings may fail on Mac.
The current workaround is to:
- Open System Preferences
- Printers and Scanners
- Right Click > Reset Printing System
- Re-add all printers
We realize this is not ideal, but have found no another work-around on Mac.
Although rare, there are scenarios of not being able to list printers, only being able to list one printer, or listing printers takes several minutes to complete. This is likely caused by a driver conflict between the offending printer driver and the print spooler, resulting in the entire print subsystem to hang.
The workaround is to remove the offending printer or printer driver.
Raw Printer Queues
If your thermal or label printer has undesired results, it may be improperly configured. Here are our tutorials for setting up a printer to receive raw languages on each platform:
Note: Some Windows drivers, such as Zebra's ZDesigner driver for Microsoft Windows, will support raw printing alongside pixel-based/PostScript printing. You may use those drivers or a raw-generic/text-only driver to send raw commands, but the generic driver will not be able to print images/PDF/HTML.
By default, QZ Tray suppresses verbose websocket information from the console, however occasionally this information may be useful for debugging/troubleshooting connectivity issues.
Debugging WebSockets in 2.0
2.0 Only - Using the
qz.api.showDebug(...)API option, verbose connection details will logged to the browser's console.
qz.api.showDebug(true); // must be called prior to calling qz.websocket.connect()
Debugging WebSockets in 1.9
1.9 Only - Using the
deployQZ(...)API option, verbose connection details will logged to the browser's console.
deployQZ(null, true); // usage: deployQZ(hostname, debug);
- This is often a sign of an incompatible version. Please make sure you are using a build correct for your system (e.g. 1.9, 2.0)
typeerror: _qz.tools.hash is not a function
- Cause: Make sure the page is being rendered with UTF-8
- Cause: Make sure the page is being rendered with UTF-8
WebSocket connection to 'wss://localhost:8181/' failed: Error in connection establishment: net::ERR_CONNECTION_CLOSED
- Cause: Java 9 (Beta) is known to cause this error. Please downgraded to a supported Java version.
If the browser console says
Invalid JSON, try changing your HTTP headers in the sign-message example to use
application/json. In PHP, this is done via:
- header('Content-Type: application/json'); + header('Content-Type: text/plain');
Note: This technique will vary depending on the server-side language being used.