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

时间:2019-01-08 18:07:41

标签: ruby-on-rails ruby printing printers

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

  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;'%>

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

很抱歉,如果这是一个愚蠢的问题,或者我遗漏了一些东西。

谢谢,祝一切顺利!

1 个答案:

答案 0 :(得分:0)

如果您想从网页上执行此操作-它更多是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>

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

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