Распечатать (на принтере) файл в рельсах - PullRequest
0 голосов
/ 08 января 2019

есть ли способ печати файла на принтере в рельсах? Давайте предположим, что у меня есть

  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 голосов
/ 08 января 2019

Если вы хотите сделать это с веб-страницы - это скорее задача 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>

Он создает и открывает новое окно с содержимым, которое содержит только изображение, которое нужно распечатать, затем распечатывает страницу (которую вы уже заметили, которая вызывает диалоговое окно) и закрывает это новое окно. (Я не думаю, что есть способ пропустить открытие диалога, хотя).

Вы можете проверить этот ответ для получения дополнительной информации и примеров.

...