在 rails 中打印(在打印机上)文件

Print (on a printer) file in rails

在 rails 中有什么方法可以在打印机上打印文件吗? 假设我有一个

  def print_url
     "/system/tickets/#{print_url_dir}/print.png"
  end

我想用

调用它
  resource.print_url

我已经试过了

  <%= link_to 'Print', resource.print_url, :onclick => 'window.print();return false;'%>

但这只是打开了我所在站点的打印机对话框。

抱歉,如果这是一个愚蠢的问题或者我遗漏了什么。

谢谢,祝一切顺利!

如果您想从网页上执行此操作 - 这更像是一项 Javascript 任务,而不是 Ruby/Rails 任务。你可以这样做:

<script type="text/javascript">
  var WinPrint = window.open('', '_blank', 'left=0,top=0,toolbar=0,scrollbars=0,status=0');
  WinPrint.document.write('<img src="<%= resource.print_url %>" />');
  WinPrint.document.close();
  WinPrint.focus();
  WinPrint.print();
  WinPrint.close();
</script>

它创建并打开新的 window,其内容仅包含要打印的图像,然后打印页面(您已经注意到它会调用对话框)并关闭新的 window. (虽然我认为没有办法跳过对话框打开)。

您可以查看 this 答案以获取更多信息和示例。