> How about adding <button onclick="print();">Print</button> to your Web application?
I'm setting up some kiosks to allow users to browse and print from arbitrary websites, so this isn't an option.
I certainly understand your concern about having the button show only when it's actually possible to print.
I don't have the expertise to implement printer detection myself. Something to note, though: when the user hits Ctrl+P to bring up the Print dialog, each printer in the list has a status associated with it. If the kiosk is able to print to a printer, the status for the printer will either be blank or it'll say "Ready to print". If the kiosk is unable to print to a printer, the status shows an error message (i.e. "Unable to connect", etc). Perhaps there's a way to check this status via shell script, and if at least one printer is "ready", show the print button?
Until a practical way to test for a working printer setup is found/implemented, I think a "printbutton" API keyword would be the best solution.