Не рендеринг PDF в WebViewC#

Место общения программистов C#
Anonymous
Не рендеринг PDF в WebView

Сообщение Anonymous »

Я пытаюсь отобразить PDF-файл в упакованном приложении WinUI3 с помощью PDF.js и WebView2, но столкнулся с проблемой, при которой PDF-файл не отображается, и в программе появляется ошибка «Файл не найден». элемент управления WebView2.

Код: Выделить всё

private async void PickAFileButton_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
{
var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
var window = App.MainWindow;
var hWnd = WinRT.Interop.WindowNative.GetWindowHandle(window);
WinRT.Interop.InitializeWithWindow.Initialize(openPicker, hWnd);
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.FileTypeFilter.Add(".pdf");

var file = await openPicker.PickSingleFileAsync();

if (file != null)
{
await PdfWebView.EnsureCoreWebView2Async();

var pdfjsPath = Path.Combine(AppContext.BaseDirectory, "Assets", "pdfjs");
PdfWebView.CoreWebView2.SetVirtualHostNameToFolderMapping(
"appassets", pdfjsPath,CoreWebView2HostResourceAccessKind.Allow);

var pdfFilePath = new Uri($"file:///{file.Path}");

var pdfjsViewerUri = "ms-appx-web:///Assets/pdfjs/web/viewer.html";
var encodedFilePath = Uri.EscapeDataString(pdfFilePath.AbsoluteUri);
PdfWebView.Source = new Uri($"{pdfjsViewerUri}?file={encodedFilePath}");
}
}
Источник WebView2: ms-appx-web:///Assets/pdfjs/web/viewer.html?file=file%3A%2F%2F%2FC%3A%2MyTest%2F2024 %2F07%2F01%2Ffolder%2520test%2Ffiles%2520and%2520pdf%2F300.pdf
Есть идеи, почему PDF-файл не отображается и как решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/789 ... in-webview

Вернуться в «C#»