HTML / Javascript One Click Print (no dialogs)
Solution 1
I ended up implementing a custom application that works very similar to the Nexus Mod Manager. I wrote a C# application that registers a custom Application URI Scheme. Here's how it works:
- User clicks "Print" on the website.
- Website links user to "CustomURL://Print/{ID}
- Application is launched by windows via the custom uri scheme.
- Application communicates with the pre-configured server to confirm the print request and in my case get the actual print command.
- The application then uses the C# RawPrinterHelper class to send commands directly to the printer.
This approach required an initial download from the user, and a single security prompt from windows when launching the application the first time. I also implemented some Javascript magic to make it detect whether the print job was handled or not. If it wasn't it asks them to download the application.
Solution 2
I know this is a late reply, but here's a solution I'm using. I have only used this with IE, and have not tested it with any other browser.
This Sub Print blow effectively replaces the default print function.
<script language='VBScript'>
Sub Print()
OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
End Sub
document.write "<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
</script>
Then use Javascript's window.print(); ties to a hyperlink or a button to execute the print command.
If you want to automatically print when the page loads, then put the code below near tag.
<script type="text/javascript">
window.onload=function(){self.print();}
</script>
Solution 3
I am writing this answer for firefox browser.
Open File > Page Setup
Make all the headers and footers blank
Set the margins to 0 (zero)
In the address bar of Firefox, type about:config
Search for
print.always_print_silent
and double click it-
Change it from false to true
- This lets you skip the Print pop up box that comes up, as well as skipping the step where you have to click OK, automatically printing the right sized slip.
-
If
print.always_print_silent
does not come upRight click on a blank area of the preference window
Select new > Boolean
Enter "print.always_print_silent" as the name (without quotes)
Click OK
Select true for the value
-
You may also want to check what is listed for
print.print_printer
- You may have to choose Generic/Text Only (or whatever your receipt printer might be named)
Solution 4
The general answer is: NO you cannot do this in the general case but there some cases where you might do it. Check http://justtalkaboutweb.com/2008/05/09/javascript-print-bypass-printer-dialog-in-ie-and-firefox/
If you where allowed to do such a thing anyway, it would be a security issue since a malware script could silently sent printing jobs to visitor's printer.
Solution 5
I found a awesome plugin by Firefox which solve this issue. try seamless printing plugin of firefox which will print something from a web application without showing a print dialog.
- Open Firefox
- Search addon name seamless printing and install it
- After successful installation the printing window will get bypassed when user wants to print anything.
![teynon](https://i.stack.imgur.com/qkuEi.png?s=256&g=1)
teynon
Updated on July 05, 2022Comments
-
teynon almost 2 years
Is it possible to have a print option that bypasses the print dialog?
I am working on a closed system and would like to be able to pre-define the print dialog settings; and process the print as soon as I click the button.
From what I am reading, the way to do this varies for each browser. For example, IE would use ActiveX. Chrome / Firefox would require extensions. Based on this, it appears I'll have to write an application in C++ that can handle parameters passed by the browser to auto print with proper formatting (for labels). Then i'll have to rewrite it as an extension for Chrome / Firefox. End result being that users on our closed system will have to download / install these features depending on which browser they use.
I'm hoping there is another way to go about this, but this task most likely violates browser security issues.
-
eis over 11 yearsVBScript will not work on any other browser, period. But it's a nice solution for IE.
-
teynon almost 11 yearsJust to follow up, I ended up implementing a Java app called jZebra. This app requires the first time install / security approval. code.google.com/p/jzebra
-
AnthonyVO over 5 yearsThis addon is no longer supported. Do you know of an alternative?
-
AnthonyVO over 5 yearsThe URL is dead.
-
Reaz Patwary over 5 yearsNot really. But I will double check.
-
Victoria about 5 yearsOn Windows, an autohotkey script running in the background could look for the browser's print dialog, and OK it.