How Do I Print From Internet Explorer Without Raising a Confirmation Dialog?
NOTE: the concepts presented in this article are now considered obsolete possibly because better alternatives are available.
There seems to be a problem with the code presented in this article, so don't rely on it work anymore. When you click the print button you get an error and nothing gets printed.
So far, I haven't been able to isolate the problem or come up with a solution. It looks like this problem is caused by some security mechanism in Windows XP Service Pack 2. I haven't tested various versions of IE and Windows XP yet, but I am sure it doesn't run on IE 6, SP2 with Windows XP SP2 (well, it doesn't run on *my* IE 6, SP2 with Windows XP SP2 ;-) )
In some scenario's, it could be useful if you were able to print a page from within the browser, without the Print dialog popping up, and without the user confirming the print operation.
<head>
<script language="JavaScript" type="text/javascript">
DA = (document.all) ? 1 : 0
function HandleError()
{
alert('\nNothing was printed. \n\nIf you do want to print ' +
'this page, then\n click on the printer icon in the ' +
'toolbar above.')
return true;
}
</script>
</head>
<body>
<form>
<input type="button" value="Print Page" onClick="window.print();">
</form>
<script language="VBScript">
Sub window_onunload()
On Error Resume Next
Set WB = nothing
On Error Goto 0
End Sub
Sub Print()
OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
On Error Resume Next
If DA Then
call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
Else
call WB.IOleCommandTarget.Exec _
(OLECMDID_PRINT ,OLECMDEXECOPT_DONTPROMPTUSER,"","","")
End If
If Err.Number <> 0 Then
If DA Then
Alert("Nothing Printed :" & err.number & " : " & err.description)
Else
HandleError()
End if
End If
On Error Goto 0
End Sub
If DA Then
wbvers="8856F961-340A-11D0-A96B-00C04FD705A2"
Else
wbvers="EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B"
End If
document.write("<object ID=""WB"" width=0 height=0 classid="" clsid:")
document.write(wbvers & """> </object>")
</script>
</body>
</html>
Where to Next?
Wonder where to go next? You can post a comment on this article.
Links in this Document
Doc ID | 243 |
Full URL | https://imar.spaanjaars.com/243/how-do-i-print-from-internet-explorer-without-raising-a-confirmation-dialog |
Short cut | https://imar.spaanjaars.com/243/ |
Written by | Imar Spaanjaars |
Date Posted | 02/05/2004 21:05 |
Date Last Updated | 11/02/2020 16:29 |
Date Last Reviewed | 12/06/2006 15:39 |
Listened to when writing | Big Night Out by Fun Lovin' Criminals (Track 12 from the album: 100% Colombian) |
Comments
Talk Back! Comment on Imar.Spaanjaars.Com
I am interested in what you have to say about this article. Feel free to post any comments, remarks or questions you may have about this article. The Talk Back feature is not meant for technical questions that are not directly related to this article. So, a post like "Hey, can you tell me how I can upload files to a MySQL database in PHP?" is likely to be removed. Also spam and unrealistic job offers will be deleted immediately.
When you post a comment, you have to provide your name and the comment. Your e-mail address is optional and you only need to provide it if you want me to contact you. It will not be displayed along with your comment. I got sick and tired of the comment spam I was receiving, so I have protected this page with a simple calculation exercise. This means that if you want to leave a comment, you'll need to complete the calculation before you hit the Post Comment button.
If you want to object to a comment made by another visitor, be sure to contact me and I'll look into it ASAP. Don't forget to mention the page link, or the Doc ID of the document.