在 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 中打印(在打印机上)文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PrintDocument 在热敏打印机上打印文本文件?

如何使用 golang 在网络打印机上打印文件或格式化文本

在没有 Adob​​e 的情况下使用 Ghostscript 在 Ricoh MP 4000 打印机上批量打印 PDF 文件

在 Custom TG2480H 打印机上打印徽标

rails html文件打印数据库中不需要的数据

如何在 Intermec PM4i 打印机上打印 QR 码