2016-05-24 7 views
1

Я использую веб-браузер System.Windows.Controls.WebBrowser, чтобы пользователи могли просматривать PDF-файлы из моего приложения WPF.WPF WebBrowser - отключить взаимодействие пользователя с содержимым, отображаемым в браузере

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

Как мне это сделать?

Я добавил WebBrowser к применению с линией:

System.Windows.Controls.WebBrowser browser = new System.Windows.Controls.WebBrowser(); 

и я указать путь к файлу, который они просматриваемые из кода, но и дает им возможности для выбора других файлов для просмотра с помощью File -> Open and browsing to the location файла, который они хотят открыть.

+0

Просто догадаться, но разве это не будет так просто, как сказать browse.IsEnabled = false? – adminSoftDK

+0

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

ответ

1

Проблема не в WebBrowser. Вы открываете PDF-файл внутри него, так что это либо плагин, либо встроенный просмотрщик. Контроль за пределами объектов и событий WebBrowser.

Вам следует рассмотреть возможность использования фактического управления просмотром PDF, например, suggested in this topic.

+0

Спасибо за ссылку. Я просмотрю просмотренных зрителей и попробую. Вы случайно не знаете, поддерживает ли какой-либо из этих функций возможность просматривать файлы с помощью собственного расширения? Например, если я должен был создать файл с расширениями '.xyz', могу ли я использовать один из этих зрителей для просмотра этого файла? Я бы предположил, что мне нужно будет сделать некоторую работу над зрителем, чтобы включить пользовательское расширение, но теоретически это возможно? – someone2088

+0

Я решил использовать MoonPdf (https://github.com/reliak/moonpdf), но я не уверен, как я включаю это в свое приложение ... любые предложения? – someone2088

+0

Если пользовательское расширение является просто переименованным PDF-файлом, вы можете его отобразить. В противном случае вам нужно будет поменять местами, какие есть у зрителя. Чтобы использовать MoonPdf, вам нужно получить одно из дистрибутивов из Sourceforge: https://sourceforge.net/projects/moonpdf/files/MoonPdf-0.3.0/. Имейте в виду, что похоже, что этот проект не был затронут через 3 года (к сожалению, много OSS имеет тенденцию идти таким образом), он может не работать для некоторых файлов, и он может прекратить работу с новыми файлами PDF , –