2010-05-13 6 views
0

Мне нужно распечатать PDF-файлы, созданные в приложении asp.net, используя хрустальные отчеты. После печати таблица базы данных обновляется со статусом «печатается». Как мы справляемся с ситуацией, когда, скажем, на принтере заканчивается бумага?asp.net - состояние печати pdf

Я знаю, что это на стороне клиента, так что это правильный способ справиться с такими проблемами?

ТИА

ответ

2

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

развернутый ответ

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

  1. ASP.NET отправляет файл клиенту (вы контролируете)
  2. Браузер открывает файл с приложением клиента по умолчанию (Controls Browser)
  3. приложение по умолчанию отображает файл (управления приложениями)
  4. пользователь выбирает, чтобы распечатать документ, может быть, теперь, может быть, 3 дня с этого момента (управления) применение
  5. приложение отправляет запрос на принтер и делается (Application Функциональность)
  6. печать системы на самом деле распечатывают документ, если отказ IT уведомляет пользователя (управление системой печати)

Так, как вы можете видеть, вы не только отключились от своего приложения ASP.NET, вы фактически находитесь за пределами Acrobat, если вы хотите получить «True», это результат печати. Например, если вы печатаете документ в Microsoft Word, а на принтере заканчивается бумага, кто уведомляет вас? Не Microsoft Word, а система очереди печати.

+0

так, что обходной путь? – SoftwareGeek

+0

Невозможно узнать, что клиент делает с PDF, который они получают через веб-запрос. Вы можете документировать только в базе данных, что PDF был * скорее всего * * доставлен * им. Скорее всего, потому, что они, возможно, начали загружать PDF-файлы и, возможно, закрыли браузер. –

+1

@bhejaFry - для ASP.NET нет возможности для получения этой информации, нет обходного пути. Решение Джеймса МОЖЕТ получить вам часть пути, но даже тогда, это просто уведомление об открытии, которое не печатается, и, конечно же, не удачная печать. Поскольку даже такие приложения, как слово, не знают, успешно ли они печатаются. –

0

Если вы находитесь в надежной среде и можете решать проблемы конфиденциальности, ваш документ в формате pdf может быть разработан для взаимодействия с вашим приложением asp.net или веб-службой, когда он открыт, чтобы увеличить счетчик или установить флаг.

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

http://www.readnotify.com/readnotify/pmdoctrack.asp

Additonal информация в Adobe Acrobat SDK

+0

Мне любопытно узнать, как это работает. В Adobe Acrobat у меня есть «Если явно не разрешено, файлы PDF не могут отправлять информацию в Интернет» по умолчанию. –

Смежные вопросы