Horizon Receipt Printer
From MVLC Staff
Contents |
The Horizon Receipt Printer 2.x is a re-write by Thomas Berezansky of the original developed by Chris Kupec and Dean Baumeister.
Goals at the time of writing included:
- 100% Compatibility with USB-based receipt printers (no need for "net use LPT1:" commands)
- More easily configurable
- More configurable options
- More reliable/less crashes
- Compatibility with Windows XP/Vista/7
- Native 64 bit execution on 64 bit versions of windows with 32 bit mode still functional
System Requirements
- Windows XP/Vista/7 (Windows 2000 NOT SUPPORTED)
- Horizon 7.4
- Microsoft .NET Framework 3.5
- ESC/POS Compatible Receipt Printer
The installer for the Horizon Receipt Printer 2.x should work fully on Windows XP (SP2+), Windows Vista, and Windows 7, as should the software itself. Testing has been done by Thomas with Horizon on Vista (x64) and with the installer on XP (x32), Vista (x32/x64) and Windows 7 (x32). No reports of issues with Windows XP, Vista, or 7 of any architecture have been reported.
A Note: The previous version of the Horizon Receipt Printer used a c:\spool\receipt.txt "printer" as the "Horizon Receipt Printer", this version does NOT. The printer entry will need to be adjusted/re-created, which the installer is capable of doing for you.
Upgrading from the 1.x Horizon Receipt Printer
For a number of reasons there is no settings import from the 1.x series Horizon Receipt Printer software. It is recommended you remove the old version entirely before installing the new version. The installer will attempt to do this for you when installing.
Basic Installation and Configuration
Download and run the installer, followed by running the configuration tool (you will be prompted at the end of the installer, it is also available via the start menu once installed). Select your receipt printer and desired options, then run the receipt printer software (by logging out/back in or via the start menu). By default it will re-configure Horizon for you, but cannot do so if Horizon is running. Alternatively, there is a right-click option to attempt to configure Horizon, on the little yellow roadsign icon when the Horizon Receipt Printer is running. Horizon should be closed when doing so.
If you do not have .NET 3.5 installed the installer should ask if you wish to download and install it.
Manual Configuration Steps
You can manually create the "Horizon Receipt Printer" windows printer and manually configure Horizon. Basic instructions are provided here:
Closing the Horizon Receipt Printer
Closing the Horizon Receipt Printer is as simple as right-clicking on the system tray icon (Yellow "Road Sign") and selecting the "Close Horizon Receipt Printer" menu option.
Advanced Installation
When installing the receipt printer software on many computers it may be desirable to not need to set initial options on each machine. In such a case, you can do one of the following:
Option 1
Install the receipt printer software on one computer, configure it, and then copy the settings.xml and agencies.xml files out of the install directory. Place them alongside the installer, and by default it will grab the pre-configured copies rather than installing the defaults. You may still need to select the local receipt printer in the configuration tool.
Option 2
Download the settings tool as a separate download and run it on any computer to generate a settings.xml file. Optionally also download the agencies.xml file and configure it as wanted. Then copy the settings.xml (and/or agencies.xml file) to the same directory as the installer, which will grab the pre-configured copies as above.
Configuration
The configuration tool is split into two main groups (General Options and Slips) and each group has sub-groups. In addition, there is the agencies file editor. Each group/section is listed here.
Don't forget to Save!
A note on configuration files:
The configuration file is searched for in the following order:
- Filename specified on the command line when starting the program
- If no config file was found, settings.xml in the current working directory
- If no config file was found, settings.xml in the current install directory
Using the debug program will provide output on what files were attempted to be opened.
General Options
General Options covers the overall program settings that affect basic functionality or all slips.
Printer
- Destination Printer
- The receipt printer that all receipts will be printed on. Is the ONLY option that is never loaded from the common config file.
- Automatically configure Horizon on start
- Tells the receipt printer to do the per-user Horizon configuration on start. Horizon may not notice until it is restarted if it was running before the receipt printer was. This only configures receipt printing, it does NOT tell Horizon to print anything automatically!
Messages (Checkin/Checkout slips only)
As a note, these messages can include ESC/POS control codes, although creating them with them is not covered here.
- Top Message
- The message to be added to the top of all Checkin/Checkout receipts. Can reside on the local machine or on a file server. There is no default. Centered lines containing 36 asterisk (*) characters will be added before and after the message.
- Bottom Message
- The message to be added to the bottom of all Checkin/Checkout receipts. Can reside on the local machine or on a file server. There is no default. Centered lines containing 36 asterisk (*) characters will be added before and after the message.
Other Options
- Agencies File
- Path/Filename of the agencies.xml file, used for route information on transit slips as well as minislip/noslip options. CAN be on a fileserver, on a web server, and possibly on a FTP server. IS NOT loaded locally if not found at this path.
- Phone Number
- Phone number (or really any other value you want) to be added below initial header on Checkin/Checkout slips (if enabled)
- WhiteSpace
- Top/Bottom whitespace amounts to add to every receipt printed. Bottom may be useful to ensure that the receipt makes it to a cutter bar, top when the receipt printer prints too close to the previous cut by default.
- NOTE: The previous version of the Horizon Receipt Printer used double the whitespace values this one does. To get the same results as using "1" in the old version you will need to use "2" with this one.
- Auto Cut
- Automatically tell the receipt printer to cut after every receipt, if supported. Recommended.
Common Config
The common config option is designed for libraries with a sizable number of receipt printers to be configured identically. It supports loading a configuration file from a file server, web server, or mapped drive with the express intent of allowing for a single point of configuration for the basic options. When loaded the settings are duplicated back to the local configuration file, allowing for the new configuration to be used even if the server holding the common configuration file is not available in the future.
The common configuration file will NEVER overwrite the local "Destination Printer" option, and relative paths will still be based on the location of the Horizon Receipt Printer program itself. This allows for "agencies.xml" to be specified as the agencies file and different versions, for desk compared to back room, of the minislip/noslip options to be in use on different computers while the other options remain consistent.
- File Location
- The location of the common config file. No file picker is provided as it is expected that the file will be on a network share or web server, not stored on the local machine.
- Replace path in local copy
- If set on the common config file itself the locally updated configuration will include the new common config file location. If not set the existing location will be left in the local copies.
- Leaving this option unchecked is recommended when making the common config file if different computers will see the configuration file in different ways (subnet restrictions, differences in server share mappings, etc)
Slips
Each slip type has different options available, and not all slip types supported by Horizon are formatted by the Horizon Receipt Printer.
Hold Slips
By default for Hold Slips the patron's name is added, in large font, at the top of the slip.
- Name Position
- Select where the larger name (and date, if enabled) are printed, and if they are flipped upside-down when that is done.
- Show Hold Date
- What position to show the hold date
- + Days
- How many days (if any) to add to the hold date. 7 results in printing a basic "Hold Till" date.
- Format
- What format to print the hold date in
- Show Patron (Barcode/EMail/Phone Number)
- Check the boxes to show (or uncheck to hide) the appropriate patron information
- More Readable Phone #
- Requires showing patron phone number, makes the phone number larger on the receipt
- Show Circ Date
- Show the full original circ date line on the receipt
- Generate Call Slips
- Call slips are small slips printed before the hold slip with a cut command after them. They contain the patron's name, the patron's phone number or "*Notified by Email*" in larger font, and the title of the item on hold. They should be especially useful when having the patron's phone number on the hold slips themselves is not desired due to self-service hold shelves.
- Options are to not generate them, to generate them with a phone number (technically, when "email" does not appear in the phone number field), or to always generate them
- Mask Patron Barcode
- Replace the beginning of the patron's barcode with asterisk (*) characters, if the patron barcode is being shown at all. Select the number of digits to leave visible.
- Additional WhiteSpace Bottom
- Similar to the general options version, this adds more IN ADDITION TO the general options setting specifically for full hold slips, so that they are long enough to not fall out of the book easily
CheckIn Slip Options
In addition to the Top/Bottom messages from the general options, the following are available:
- Add Phone Number
- If a phone number is specified in the general options add it to checkin slips
- Never Print
- Disable printing of CheckIn slips. Menu item can be used to override for a single slip at a time.
- Mask Patron Barcode
- Replace the beginning of the patron's barcode with asterisk (*) characters, if the patron barcode is being shown at all. Select the number of digits to leave visible.
CheckOut Slip Options
In addition to the Top/Bottom messages from the general options, the following are available:
- Add Phone Number
- If a phone number is specified in the general options add it to checkout slips
- Mask Patron Barcode
- Replace the beginning of the patron's barcode with asterisk (*) characters, if the patron barcode is being shown at all. Select the number of digits to leave visible.
- Enhance Due Dates
- Doubles the size of due dates. For multiple checkout slips it also moves them to their own line and labels them as "Due Date:".
Transit Slips
- Additional WhiteSpace Bottom
- Similar to the general options version, this adds more IN ADDITION TO the general options setting specifically for full transit slips, so that they are long enough to attach to the book easily
- Mini Slip WhiteSpace Bottom
- Similar to the general options version, this adds more IN ADDITION TO the general options setting specifically for mini transit slips, so that they are long enough to attach to the book easily
Agencies Editor
The agencies editor is accessed by passing an agencies.xml file in as a command line parameter to the settings tool or by clicking on the "Adjust Agency Slip Modes" button on the Slips tab, Transit Slips group box. When doing the latter it will first attempt to load the agencies file specified on the General Options tab, then the agencies.xml file. There is no way to load a blank agencies.xml file.
The only thing the agencies editor allows you to do is change the slip mode per agency. To do so, select the agency from the left and then the desired mode on the right.
Don't forget to Save!
Download
The setup program can be downloaded here: http://www.mvlcstaff.org/receiptprinter/HZReceiptSetup.exe, current version is 2.0.5.15 (12/15/2009).
The settings tool can be downloaded here: http://www.mvlcstaff.org/receiptprinter/HorizonReceiptSettings.zip, current version is 1.0.3.0 (12/11/2009). You will need to extract it.
The current agencies.xml file is here: http://www.mvlcstaff.org/receiptprinter/agencies.xml (11/17/2009), and may be useful for those using the settings tool without installing the full receipt printer program.
The changelog can be found here: /Changelog
Debugging/Error Output
As the Horizon Receipt Printer 2.x is no longer a console application and does not log to a file there is little in the way of debugging information when files cannot be opened normally. To correct for this a second program, HorizonReceiptDebug.exe, is shipped with the application. Run it as you are running HorizonReceiptPrinter.exe and it will start and attach to HorizonReceiptPrinter.exe to provide console output. It will need to start a new session itself to accomplish this.
Once the problem is known a CTRL+C in the console session will close HorizonReceiptDebug.exe and leave HorizonReceiptPrinter.exe running. To close both right-click on the system tray icon for the Horizon Receipt Printer and select the close option.