Возможно ли иметь ссылку / кнопку, которая напрямую печатает документ через веб-сайт? - PullRequest
2 голосов
/ 12 октября 2009

возможно ли иметь ссылку / кнопку, которая напрямую печатает документ через веб-сайт?

Ответы [ 5 ]

3 голосов
/ 12 октября 2009

Самое близкое, что вы можете сделать, используя обычные методы, - это использовать javascript для отображения диалога печати. ​​

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

2 голосов
/ 12 октября 2009

Предполагая, что вам не нужно представлять версию страницы для печати и вы просто хотите запустить функцию «Печать» браузера, просто вот так:

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

или с помощью кнопки веб-управления

<asp:button id="button1" runat="server" onclientclick="window.print(); return false;" text=Print" />
1 голос
/ 12 октября 2009

Для этого вам может понадобиться написать Компоненты апплета, Flash, ActiveX.

Обратите внимание, что:

Компонент ActiveX работает только в Windows (в основном IE).
Апплет / Flash может работать на основных ОС, таких как Windows / MAC / Linux

Я предлагаю вам использовать Applet, хотя клиент должен установить JRE.

0 голосов
/ 12 октября 2009

Я думаю, вам может понадобиться прочитать весь документ, который должен быть напечатан с помощью какой-то библиотеки, которая читает весь документ в виде текста / html в поток памяти и записывает в выходной поток, наконец, вызовите window.print () ;

0 голосов
/ 12 октября 2009

Да, просто вызовите javascript "window.print ()" по ссылке или кнопке.

т.е.

Редактировать: увидел другой комментарий о желании распечатать документы Office. Ваши единственные варианты здесь - это открыть документ с помощью собственного приложения или конвертировать в HTML или PDF серверную часть.

Как уже указывалось в другой публикации, вы можете встраивать объект ActiveX, но это вызывает всевозможные проблемы безопасности и вряд ли будет работать в настройках безопасности IE по умолчанию, а не в других веб-браузерах.

Если вы работаете в интрасети, вы можете подключить сервер к офисному принтеру напрямую, но, боюсь, нет реального способа сделать это без существенных предостережений. Я рекомендую просто предоставить пользователю возможность загрузки и позволить ему распечатать его самостоятельно.

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