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

Posted

技术标签:

【中文标题】在 Rails 中打印(在打印机上)文件【英文标题】:Print (on a printer) file in rails 【发布时间】:2019-01-08 18:07:40 【问题描述】:

有什么方法可以在 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;'%>

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

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

谢谢,一切顺利!

【问题讨论】:

【参考方案1】:

如果您想从网页执行此操作 - 它更像是一项 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 答案以获取更多信息和示例。

【讨论】:

以上是关于在 Rails 中打印(在打印机上)文件的主要内容,如果未能解决你的问题,请参考以下文章