Ajay_Saini Ответов: 4

Asp.net - прямая печать на стороне клиента


Привет,

У меня есть веб-приложение, размещенное на моем веб-сервере и доступное через интернет.

Есть несколько страниц, которые используют объект Crystal Report и на основе значений манипуляции выполняются во время выполнения. Мне нужна была возможность прямой печати через принтер, установленный на клиентских машинах.

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

Может ли кто-нибудь поделиться, если у них есть какое-то решение?

Что я уже пробовал:

Я знаю, что это может быть возможно через ActiveX, но до некоторой степени распространяется и только на IE.
Но я не хочу использовать ActiveX, потому что все манипуляции выполняются на моем коде C#, и очень сложно отправить полную структуру с данными клиенту.

Kornfeld Eliyahu Peter

1. даже IE отказался от ActiveX!!!
2. Почему бы не использовать веб-просмотрщик CR и не позволить ему обрабатывать печать?

4 Ответов

Рейтинг:
28

OriginalGriff

Вы не можете получить доступ к клиентскому принтеру напрямую, если только он уже не настроен на доступ из интернета.
Это может помочь вам получить некоторые идеи: Получите доступ к принтерам из веб - приложения-блог бородатого хакера[^]


Ajay_Saini

Большое вам спасибо за ваши предложения.
В приведенных выше решениях я использовал пробный аккаунт PrintNode, и он отлично работает.
Есть ли еще какой-нибудь элемент с открытым исходным кодом? Облачная печать Google не очень поддерживает в соответствии с доступными статьями и блогами в интернете, поэтому я ее не пробовал.

Рейтинг:
2

Patrice T

Цитата:
Я знаю, что ему не разрешен доступ к местным ресурсам

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


Afzaal Ahmad Zeeshan

5ed; я собирался скрыть ту же цитату и высмеять его. :смеяться:

Patrice T

Спасибо

Рейтинг:
1

F-ES Sitecore

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


Kornfeld Eliyahu Peter

Значит, интернет еще не надоел?

F-ES Sitecore

Это едва терпимо с блокировщиком рекламы, блокировщиком всплывающих окон и блокировщиком javascript. Мне тоже не нужен блокиратор печати :)

OriginalGriff

Не забывайте о флеш-блоке и блокировщике видео HTML5!

Kornfeld Eliyahu Peter

А теперь (с помощью надстройки Chrome) блокиратор-блокиратор!!!

OriginalGriff

Что я мог бы использовать, так это блокиратор adblock spotter ... некоторые сайты уже используют блокираторы blocker, чтобы заблокировать мой блокиратор.

Рейтинг:
0

Ajay_Saini

Спасибо джентльмену. Я знаю, что через интернет это невозможно из-за рисков безопасности.
Однако из-за некоторой потребности на моем сайте в конкретных пользователях я пытался, так как принтер на рабочих станциях определен, и необходимость заключается в том, чтобы печатать непосредственно на них. Я думал, что что-то вроде службы WCF или службы Windows может быть установлено на этих рабочих станциях и через это, если веб может отправить команду, но, очевидно, это было просто мое предположение, которое я не уверен, что это практически возможно.