(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? Я не могу понять, что вызывает проблему.

Я хочу найти строку, а затем выделить ее.

Большое спасибо.

0 ответов

Другие вопросы по тегам