Thursday, March 05, 2020

Setting up kiosk printing mode for Vend

In January of 2020 I wrote a post about Setting up a point of sale (POS) system for a Horizon library.  Since then we have decided enable our second location in VEND and setup a single register.  Vend has a great post on setting up Chrome for kiosk printing; which is great but there are two issues with it that are mutually exclusive; meaning that if you solve one problem it causes the other.  What I discovered is that Google Chrome, would either print the webpage header/footer on the receipt or you would have to hit print twice to print the receipt.  The new Microsoft Edge does not have this problem.

Setting up VEND it was highly recommended sticking to chrome on windows, though they have a long list of recommended hardware and software on their site.  

Typically when you print from a browser such as chrome, you print and you get the google print preview


Printing From Chrome
And you can also set it up to print from the system dialogue window by pressing Ctrl + Shift + P


System Printing Dialogue Window
This can be controlled from Google Admin if you have Google for Business/Non-Profit/Education by going into Device Management -> Chrome -> Settings

With the options of 

  • Allow using print preview
  • Always use the system print dialog instead of print preview

Google Admin - Control Print Preview
If your not using google admin you use the the command line switches in sequence a list of command-line-switches for the Chromium project can be found here

For chrome we want to put the following at the end of the quote after a space on the shortcut.


--enable-print-preview --kiosk --kiosk-printing


This enables chrome's print preview mode so it doesn't use the system's dialogue, puts the chrome browser in kiosk mode and kiosk-printing automatically causes chrome to hit the print button leaving the preview up for a second or two.  If your using google admin you can skip the --enable-print-preview flag if you have it defined in the settings as shown in the Google Admin picture above.  Below is chrome with the command line switches.



Chrome is great and it worked ok but the main issue we came across was with the print-preview enabled it would print the page header and footer on the receipt


Receipt with the website header and footer which is printed
when you have kiosk tags enabled on chrome.

If you disable the print-preview, and use the system dialogue box for printing the receipt turns out without the web page header/footer on the receipt, but you had to either hit return or press the print button twice which is not the best thing for a cash register.


Receipt with no web page header/footer

So I downloaded and installed the new chromium based Microsoft edge and tried the chrome command line witches on edge and they worked great!  In fact you don't even need the --enable-print-preview switch, the receipt comes out with no wasted paper and everything else works just as it did on chrome; so we switch our VEND register to Microsoft Edge.

Using the Vend article for setting up kiosk mode, I did also some additional things using group policy to secure the system, and setup a startup script when the computer launches.

Here are some additional actions I had taken to secure the VEND Register System
  • Create a admin and limited user (the vend register runs as the limited user)
  • Set the default page to be the vend register store, along with the home page setting
  • Create a startup script to launch edge using Task Scheduler
Task Scheduler

      "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
      --kiosk --kiosk-printing
  • Setup Group Policy to disable CTL+ALT+DEL options
Open the Local Group Policy Editor:
Click Start.
Enter Run.
Type gpedit.msc.
Click OK.
Navigate to User Configuration > Administrative Templates > System > Ctl+Alt+Del Options.
Prevent users from being able to use the following functionality by enabling the removal of the functions:
Remove Task Manager
Remove Lock Computer
Remove Change Password
Remove Logoff
To enable these to be removed:
Double-click the option.
Select Enabled.
Click OK.

Disable CTL+ALT+DEL 

  • Then to disable the windows key
Open regedit.
Click on the Windows menu and type run, then put in regedit
click HKEY_LOCAL_ MACHINE on Local Machine  
Double-click the System\CurrentControlSet\Control folder, and then click the Keyboard Layout folder. 
On the Edit menu, click Add Value, type in Scancode Map, 
click REG_BINARY as the Data Type, and then click OK. 
Type 00000000000000000300000000005BE000005CE000000000 in the Data field, and then click OK. 
Close Registry Editor and restart the computer.
Disable Windows Key

How to fix CURL call imporitng an RSS feed on a site blocking CURL calls

There is a 3rd party service provider that my organization uses called bibliocommons.  They have these nice book carousels.  However the car...