Печать из Интернета на стороне клиента - PullRequest
2 голосов
/ 25 ноября 2008

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

  • Должен контролироваться после веб хостинг делается без печати всплывающее окно диалога или всплывающее окно JavaScript.
  • Должно печататься на клиентском принтере после веб-хостинга без печати опция диалога и настройка бумаги размер.
  • Это должно быть сделано в C # .net

Ответы [ 6 ]

4 голосов
/ 25 ноября 2008

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

Обход диалогового окна печати - это ограничение безопасности, ActiveX или расширение Firefox - ваша единственная альтернатива, что может быть приемлемо для веб-приложения на основе интрасети.

4 голосов
/ 25 ноября 2008

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

Из соображений безопасности надеюсь, что это невозможно.

2 голосов
/ 25 ноября 2008

Единственный способ, которым я смог контролировать это количество на стороне клиента принтера, - это создать компонент ActiveX, который будет обрабатывать интерфейс печати и идти дальше. Это не перекрестный анализ, не самое чистое решение; тем не менее, это единственный способ, которым я смог управлять размером бумаги. Я изучил параметры CSS @print, но не смог найти тот, который действительно контролировал бы размер.

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

1 голос
/ 14 ноября 2013

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

Итак, вам нужно написать небольшую утилиту, которая распознает эти «задания печати» с вашего веб-сайта. Вы щелкаете ссылку [Print Invoice], и ​​браузер загружает уникальный файл .print, а утилита записывает его.

Файл .print состоит из двух частей: 1. Заголовок и 2. Файл (pdf / jpg / any). Заголовок содержит предопределенный принтер / размер бумаги / ориентацию / и т. Д. Или просто запрашивает ввод пользователя. А затем печатает файл из 2. part / body.

Вы также можете ставить в очередь задания на печать и управлять ими.

Вы должны установить эту утилиту; определите протокол, такой как http: // или ftp: // для захвата ссылок на печать из утилиты. И установите принтеры / документы / и т. Д. Для конкретных заданий, таких как счета / цветные печати / и т. Д.

Это будет то, что я сделаю, когда перенесу наше приложение winforms в сеть. Кроме того, если вы работаете в локальной сети, вы можете распечатать данные с веб-сервера на сетевых принтерах.

1 голос
/ 25 ноября 2008

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

0 голосов
/ 25 ноября 2008

Я уже рассматривал это раньше, и единственный способ заставить такие вещи, как портрет / пейзаж и т. Д., - это заставить пользователя установить элемент управления ActiveX (или аналогичный).

Javascript или CSS в одиночку не могут этого сделать.

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