在 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 在热敏打印机上打印文本文件?
在没有 Adobe 的情况下使用 Ghostscript 在 Ricoh MP 4000 打印机上批量打印 PDF 文件