Я пытаюсь показать файлы PDF в элементе управления Windows Form WebBrowser. Я делаю это с помощью метода WebBrowser.Navigate(). Это работа, когда я хочу показать один файл PDF, чего мне мало. Мне нужно, когда пользователь нажимает кнопку, WebBrowser показывает другой файл PDF. Что я должен сделать?
Отображение нескольких файлов PDF в элементе управления WebBrowser (форма Windows)
Ответы (3)
Избегайте использования элемента управления WebBrowser только для отображения PDF-файла. Попробуйте использовать одну из многочисленных бесплатных библиотек PDF, доступных для .net, например PDFSharp.
Это позволит вам рисовать PDF-файлы на Form, а с помощью TabControl вы можете программно создавать вкладки и размещать новую программу просмотра PDF-файлов внутри вкладки.
Вы можете легко создать средство просмотра PDF для двух разных файлов (бок о бок или сверху и снизу), используя PDFSharp. Или вы можете использовать элемент управления ActiveX для Adobe Reader.
Редактировать: Насколько я понимаю, PDFSharp может напрямую отображать PDF-файлы. Это можно сделать, только экспортировав страницу в формат Jpeg/Png, а затем отобразив изображения. Извините за путаницу.
Я бы на вашем месте сделал tabControl, а foreach tabControl, поставил бы веббровер, в котором был бы PDF по Tab.
РЕДАКТИРОВАТЬ: WebBroswer не похож на Internet Explorer. Internet Explorer имеет «Функция» наличия нескольких вкладок (так же, как Chrome и т. Д.). Элемент WebBroswer — это только содержимое вкладки :)
EDIT2: после многих лет я бы рекомендовал также использовать библиотеку PDF. В качестве прототипа это может сработать, но в реальном мире мы никогда не знаем, сколько их будет. вероятно, лучше всего: либо предоставить пользователю возможность открывать в компетентном программном обеспечении, например, Acrobat Reader, где вкладка изначально используется (DC), либо использовать библиотеку PDF.
WebBrowser ужасен с памятью, и ваше приложение будет использовать до 300 МБ памяти. Почему бы просто не использовать библиотеку PDF?
- person Jeremy; 20.12.2011
Я думаю, что вы столкнулись с очень простой проблемой навигации здесь. Я разработал для вас проект, взгляните на него, я надеюсь, что он решит вашу проблему. загрузите здесь.