לבינתיים מצאתי פתרון לא מושלם אבל זה עובד:
יש להעתיק את הקובץ לתוך תיקיית ה-web ומשם אפשר לפתוח אותו (עיין כאן) מצו"ב דוגמא מלאה:
אני מקווה שאולי מישהו שמבין באמת בנושא יוכל להצביע על הפונציה הנצרכת ברור לי שיש משהו כזה כי יש כפתור שפותח קבצים.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
webView.CoreWebView2InitializationCompleted += Browser_CoreWebView2InitializationCompleted;
webView.EnsureCoreWebView2Async();
}
private void Browser_CoreWebView2InitializationCompleted(object? sender, Microsoft.Web.WebView2.Core.CoreWebView2InitializationCompletedEventArgs e)
{
string appPath = AppDomain.CurrentDomain.BaseDirectory;
string fullPath = Path.Combine(appPath, "pdfjs");
webView.CoreWebView2.SetVirtualHostNameToFolderMapping("pdfjs", fullPath, CoreWebView2HostResourceAccessKind.DenyCors);
}
private void OpenPdfButton_Click(object sender, RoutedEventArgs e)
{
var openFileDialog = new Microsoft.Win32.OpenFileDialog
{
Filter = "PDF Files (*.pdf)|*.pdf",
Title = "Select a PDF File"
};
if (openFileDialog.ShowDialog() == true)
{
string filePath = openFileDialog.FileName;
string appPath = AppDomain.CurrentDomain.BaseDirectory;
string targetPath = Path.Combine(appPath, "pdfjs", "web", Path.GetFileName(filePath));
try
{
// Copy the selected PDF file to the pdfjs folder
File.Copy(filePath, targetPath, true);
// Open the copied file in the PDF viewer
string fileUri = new Uri($"https://pdfjs/web/viewer.html?file={Path.GetFileName(filePath)}").AbsoluteUri;
webView.Source = new Uri(fileUri);;
}
catch (Exception ex)
{
MessageBox.Show($"Error copying file: {ex.Message}");
}
}
}
}