How to open a file with print dialogue box using JavaScript

13,789

Call print on the new window rather than the old:

var wnd = window.open('http://stackoverflow.com');
wnd.print();

I don't like your odds, though, of it not falling afoul of browser security. :-) The "external" window object may well not support print (window objects come in two types, the "external" type that other windows have access to, and the "internal" type that references itself, which has more permissions, etc.) At the least, you'll probably have to wait for the load event, but I best in general it's going to be tricky.

It seems to work for documents with the same origin, so the Same Origin Policy is a factor. That example crashes in IE6 (literally crashes the browser), but works for me in IE7 on Windows, and Chrome and Firefox 3.6 on Linux (and not in Opera 11 on Linux). Probably wouldn't hurt to put a delay / yield in there, e.g.:

var wnd = window.open(your_path_here);
setTimeout(function() {
    wnd.print();
}, 0);

You said "word document" in your question, but your example looks like a website. I have no idea whether this would work if you were opening a Microsoft Word document by loading it into a browser window.

Share:
13,789

Related videos on Youtube

Coder
Author by

Coder

Updated on June 04, 2022

Comments

  • Coder
    Coder over 1 year

    I want to open one word document using JavaScript as well as open print dialogue box for that opened document window.

    Here is my code.

    window.open('http://www.tizaq.com');
    
    window.print();
    

    It works, but the print dialogue gets opened for the current window, not the newly opened window. How do I do it?

  • Pekka
    Pekka over 12 years
    I'm trying the same thing but it isn't working for me in any browser. (Correction: It works in FF4 on Windows; doesn't in Chrome 10 and IE8)
  • T.J. Crowder
    T.J. Crowder over 12 years
    @Pekka: Yeah, I think browser security is likely to kick in. And I for one probably want it to, although to be fair print on every platform I've used opens a dialog I can cancel, so it's not that evil. :-)
  • T.J. Crowder
    T.J. Crowder over 12 years
    @Coder: I'm not terribly surprised, see the caveats. :-)
  • Coder
    Coder over 12 years
    yes. I want to open word document only.. Just for example, here I put a website.
  • T.J. Crowder
    T.J. Crowder over 12 years
    @Coder: Well, it may still work, if the document is being served from the same origin as the controlling page.
  • Coder
    Coder over 12 years
    Thank YOU so much crowder :-)

Related