Я работаю над проектом на основе Xamarin.Forms, пытаясь распечатать содержимое веб-просмотра с разбивкой на страницы.
Я уже ссылался на следующую ссылку: Как распечатать содержимое WebView в приложении Windows Store?
Но, к сожалению, этот способ не работает с Xamarin.Forms, потому что способ, продемонстрированный в приведенной выше ссылке, заключается в заполнении прямоугольника (формы окна) с помощью webviewbrush (и прямоугольник, и webviewbrush являются элементами управления, зависящими от платформы для UWP). Проблема в том, что мы не можем использовать webviewbrush для рисования прямоугольника (форма Xamarin Forms).
В качестве обходного пути я сделал следующее:
- создал boxview в проекте PCL форм xamarin
- создал средство визуализации для этого окна в проекте UWP (это даст нам форму прямоугольника окна), а затем я поместил эту форму прямоугольника в одно из общедоступных статических свойств в классе App.cs проекта PCL, чтобы сделать его доступным для класса Webviewrenderer.cs для заполнения этого прямоугольника webviewbrush.
- Я могу получить к нему доступ из класса webviewrenderer.cs из проекта UWP, но проблема в том, что в диалоговом окне принтера отображается пустая страница.
- Пагинация работает нормально, как показано в приведенной выше ссылке на переполнение стека, но все страницы пусты.
Видимо проблема будет с прямоугольником. Поскольку та же самая логика просто отлично работает, если я создаю собственный проект UWP, и в диалоговом окне принтера также отображается веб-страница.
Любая помощь приветствуется.
Заранее спасибо!