(C# WebBrowser) Почему "WebBrowser.Document" всегда возвращает ноль при чтении PDF?
Неважно, если это в WPF или Winform, потому что я пробовал оба, и результаты были одинаковыми.
Я делаю PDF-ридер с помощью WebBrower.
Прежде всего, я добавил ссылку и директиву "используя mshtml". Затем я загрузил файл PDf следующим образом:
OpenFileDialog dlg = new OpenFileDialog() { Filter = "*.pdf(PDF file)|*.pdf" }; ;
if (dlg.ShowDialog() == DialogResult.OK)
{
webBrowser1.Navigate(dlg.FileName);
}
Затем я попытался найти строку в WebBrowser, которая не работала:
if (webBrowser1.Document != null)
{
IHTMLDocument2 document = webBrowser1.Document.DomDocument as IHTMLDocument2;
if (document != null)
{
IHTMLSelectionObject currentSelection = document.selection;
IHTMLTxtRange range = currentSelection.createRange() as IHTMLTxtRange;
if (range != null)
{
const string search = "Privacy";//This string is in the PDF file;
if (range.findText(search, search.Length, 2))
{
range.select();
}
}
}
}
Я также установил точку останова в этой строке:
IHTMLSelectionObject currentSelection = document.selection;
Но точка останова никогда не срабатывала, что означает, что переменная "документ" всегда равна нулю. Это почему? Должен ли я установить свойство документа для WebBrowser? Я не могу понять, что вызывает проблему.
Я хочу найти строку, а затем выделить ее.
Большое спасибо.