在轨道上打印东西(字面意思是打印机)

Tan*_*ilo 14 html javascript ruby-on-rails ruby-on-rails-3

我想知道Rails中是否有可用于打印网页内容的库或宝石,就像通过打印机在纸上打印一样.我还想知道是否有任何方法可以指定只打印页面的特定部分(例如div或其他)?任何指针,建议或教程链接将不胜感激!

编辑

所以我已经开始创建一个样式表来创建一个打印友好的视图,让我们称之为"print.css":

div.transpose-keys, div#editSong, div#navigation, div#debug{
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法只有当我的应用程序触发打印操作时才能应用它?因此,当点击以下链接时,应用程序在打印前应用上面的css?这是我的嵌入式ruby html中的链接:

<%= link_to "PRINT", '#', onclick: "printpage()" %>
Run Code Online (Sandbox Code Playgroud)

最后我的javascript调用print函数:

function printpage()
  {
  window.print()
  }
Run Code Online (Sandbox Code Playgroud)

Pet*_*chl 13

如果您添加print.css如下

<link rel="stylesheet" type="text/css" media="print" href="print.css">
Run Code Online (Sandbox Code Playgroud)

并使用浏览器打印对话框,它应该根据print.css中的样式自动格式化页面


Tan*_*ilo 6

我通过使用这个简单的解决方案解决了我的问题:

print.css:

@media print {
  div.info, div#editStuff, div#navigation, div#debug {
    display: none;
  }
}
Run Code Online (Sandbox Code Playgroud)

@media标签确保这些不会显示在打印版本中

application.js:

function printpage()
{
   window.print()
}
Run Code Online (Sandbox Code Playgroud)

show.html.erb:

<%= link_to "PRINT", '#', onclick: "printpage()" %>
Run Code Online (Sandbox Code Playgroud)