How to print a page using RJS

Hello everyone,

I am trying to add an option to print my view, i.e the display webpage
in my Rails application.At present I am using HTML DOM for that but I
want to do that in ruby.Following some online tutorials, I am trying to
use rjs for that. the codes are some thing like this

view.rhtml

<%=link_to_remote (“Print Page”, :url => {:action => :print})%>

doc.rjs

page.hide ‘header’
page.hide ‘header2’

page.<<‘javascript:window.open();’

page.show ‘header’
page.show ‘header2’

Can anyone give some idea as to why this is not working?I have very less
knowledge in this.Is there any other way to do the same?

Hi, Manisha T…

You can solve this problem by creating special css for printer,

<%= stylesheet_link_tag “print_style”, :media => “print” %>

and in print_style.css

#header{
display:none;
}
and so on…

On Jun 4, 1:41 pm, Manisha T. [email protected]

Ok but in that case , I think we will not be using rjs file. right?
Can you just explain a bit more please.

Rakoth wrote:

Hi, Manisha T…

You can solve this problem by creating special css for printer,

<%= stylesheet_link_tag “print_style”, :media => “print” %>

and in print_style.css

#header{
display:none;
}
and so on…

On Jun 4, 1:41�pm, Manisha T. [email protected]

Yes, in this case you just add css tag to page that you want to print.
This css will be used when you run print command in your browser,
becouse parameter :media set to “print”.
And you can specify look of a page when printed using the appropriate
styles, for exalple to hide
element with id=“header” or with class=“navigation” use

#header, .navigation{
display:none;
}

Try to find more information on this topic using google query “css
media print”

forgive me my english, I`m using google translate.

On Jun 4, 4:30 pm, Manisha T. [email protected]