在rails中打印东西(字面意思是打印机)
问题描述:
我想知道是否有Rails中的任何库或gem可用于打印网页的内容,就像通过打印机从字面上打印到纸张上一样。我还想知道是否有任何方法可以指定只打印页面的特定部分(例如div或其他东西)?任何指针,建议或指导教程链接将不胜感激!在rails中打印东西(字面意思是打印机)
编辑
所以我在创建一个样式表,这将创造一个打印友好的观点做了一个尝试,让我们把它称为“print.css”:
div.transpose-keys, div#editSong, div#navigation, div#debug{
display: none;
}
,我想知道如果有什么方法可以在我的应用程序启动打印操作时才应用它?所以,当以下链接被点击 应用程序打印之前应用上述css?下面是我的嵌入式红宝石HTML链接:
<%= link_to "PRINT", '#', onclick: "printpage()" %>
最后我的javascript调用打印功能:
function printpage()
{
window.print()
}
答
如果你把你的print.css如下
<link rel="stylesheet" type="text/css" media="print" href="print.css">
和使用浏览器的打印对话框,它应该根据print.css样式
答
我相信这是通常做的方式是开辟了“打印机友好”窗口只有所需的信息,并从那里用户通过他们的网络浏览器打印。你可以把它多一点人性化的加入在该窗口中一些javascript:
window.print();
答
我用wkhtmltopdf,http://code.google.com/p/wkhtmltopdf/,并且PDFKit,http://railscasts.com/episodes/220-pdfkit。
RailsCast将会有一个完整的例子,而wkhtmltopdf是一个抓取和输出PDF文档的机架实用程序。
答
我在我的问题得到了通过自动格式化页面使用这个简单的解决方案:
print.css:
@media print {
div.info, div#editStuff, div#navigation, div#debug {
display: none;
}
}
的@media标签确保这些不是在印版
显示的application.js:
function printpage()
{
window.print()
}
show.html.erb:
<%= link_to "PRINT", '#', onclick: "printpage()" %>
答
<script type="text/javascript">
function PrintDiv() {
var divToPrint = document.getElementById('divToPrint');
var popupWin = window.open('', '_blank', 'width=300,height=300');
popupWin.document.open();
popupWin.document.write('<html><body onload="window.print()">' + divToPrint.innerHTML + '</html>');
popupWin.document.close();
}
</script>
<%= image_tag("print.jpg", :width=>50, :height=>30, :onclick=>"PrintDiv();", :class=>'btn') %>
客户端我假设? – MSalters 2012-07-19 14:56:03
可能想看看这个:http:// *。com/questions/6406425/how-do-i-use-a-different-layout-for-a-specific-action – DVG 2012-07-19 14:58:41
客户端是 – TangoKilo 2012-07-19 15:05:15