Можно ли сразу перейти к процессу печати с помощью JavaScript без загрузки html-страницы? - PullRequest
0 голосов
/ 26 октября 2011

Я имею в виду: пользователь нажимает какую-то кнопку «печать» и принтер начинает печать.Возможно ли это?

Пожалуйста, примите во внимание, что уже существует серверный процесс (через AJAX), который может вернуть успешный вывод на печать (или HTML, чтобы показать, что угодно) или ошибку, чтобы показать предупреждение.Это не проблема.

РЕДАКТИРОВАТЬ:

После некоторых быстрых комментариев (спасибо!) Я имел в виду "открыть диалог печати", а не "начать печать" .

Ответы [ 2 ]

2 голосов
/ 26 октября 2011

У вас уже есть HTML-страница;тот, где кнопка.Вы можете использовать разные таблицы стилей для страницы для экрана и принтера, используя директиву media или @media.При печати страницы вы можете выглядеть по-разному и с разным макетом или даже иметь совершенно другой набор элементов.

Пример:

#PrintContent { display: none; }

@media print {

   #RegularContent { display: none; }
   #PrintContent { display: block; }

}

Чтобы кнопка печатала страницупросто используйте метод print:

<input type="button" onclick="window.print();" value="Print me!" />

Это, конечно, не только начнет печать, но и откроет диалоговое окно печати.Чтобы напечатать что-то без этого диалога, вам нужно будет запустить компонент в браузере, но для запуска компонента потребуется подтверждение пользователя, так что в любом случае вы получите диалоговое окно, и гораздо более пугающее.

0 голосов
/ 26 октября 2011

Я бы открыл новую страницу, которая отображает HTML-код для печати с сервера, и вызову window.print() из обработчика загрузки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...