Как распечатать ответ веб-браузера, который отличается от HTML? - PullRequest
1 голос
/ 28 сентября 2010

Окружающая среда: ASP.NET Framework 2.0

Возможно ли выполнить что-то вроде этого:

У меня есть эта ссылка <a href='printBarcode.aspx?code=HF54A'>Print Bar-code</a>, и я хочу напечатать ответ, который сервер отправляетэта ссылка.Это вообще возможно?Ответ представляет собой текст, но не HTML, это некоторый текст, который распознается специальным принтером для печати штрих-кодов.

Идея такова: пользователь нажимает на ссылку, затем браузер получает ответ для этой ссылки ипредлагает напечатать его содержимое.

Я рад получить все предложения и комментарии, если вы считаете, что знаете лучший способ сделать это.

Ответы [ 3 ]

0 голосов
/ 28 сентября 2010

Вы можете вернуть страницу, содержащую только текст штрих-кода, и автоматически открыть диалоговое окно печати. ​​

<script type="text/javascript">
window.print();
</script>

Но я не думаю, что это сработает.Я предполагаю, что браузер не отправит его на принтер в правильном формате.

Проблема в том, что ASP.NET не может получить доступ к локальному принтеру в коде на стороне сервера.Чтобы выполнить пользовательскую печать, вам, вероятно, придется полагаться на Flash или Silverlight, если обычная печать страницы не работает.

0 голосов
/ 28 сентября 2010

Вы можете поместить текст из ответа в [div id = "textToPrint"] и вызвать javascript print (). Если вы можете использовать всплывающее окно для открытия ссылки [a href = 'printBarcode.aspx? Code = HF54A'], вы можете создать страницу poopup, например:

[HTML] [body onLoad = "print ();"]

[div id = "textToPrint"] ВАШ ТЕКСТ ОТ ОТВЕТА [/ div]

[/ тело] [/ HTML]

в этом случае принтер будет печатать только ваш текст ...

0 голосов
/ 28 сентября 2010

Нет, в браузере нет функций для печати чего-либо, кроме содержимого окна. Вы не можете получить ответ, который был возвращен, и отправить его непосредственно на принтер. Наиболее близким является отображение ответа в iframe и запрос распечатки содержимого iframe. Если браузер не знает, как визуализировать и распечатать ответ, вы не можете использовать его для печати в браузере.

Если вы хотите отправить ответ непосредственно на принтер, вам потребуется запустить в браузере компонент (flash / silverlight / Java), который может напрямую обращаться к принтеру.

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