.net MAUI открывает PDF-документ с pdfjs из каталога данных приложения в iOSC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 .net MAUI открывает PDF-документ с pdfjs из каталога данных приложения в iOS

Сообщение Anonymous »

У меня возникли проблемы с открытием PDF-документа в приложении .net MAUI iOS: соответствующие PDF-файлы загружаются и сохраняются в каталоге AppData, поэтому я не могу поместить их в пакет приложения.
Я загрузите PDF-файлы в WebView и установите источник как абсолютный путь к PDF-файлу, работает нормально, но мне нужно просмотреть его с помощью pdfjs, чтобы иметь панель инструментов.
Моя проблема, похоже, заключается в URL-адресе, который я указал в качестве источника принадлежащий webview/ путь к файлу, который я указываю view.html в папке pdfjs (которая находится в комплекте приложения).
Следующий код представляет собой веб-просмотр в файле page.xaml Следующий код — это то, что у меня есть в конструкторе:

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

Microsoft.Maui.Handlers.WebViewHandler.Mapper.AppendToMapping("newPdfView", (handler, view) =>
{
#if ANDROID
handler.PlatformView.Settings.JavaScriptEnabled = true;
handler.PlatformView.Settings.AllowFileAccess = true;
handler.PlatformView.Settings.AllowFileAccessFromFileURLs = true;
handler.PlatformView.Settings.AllowUniversalAccessFromFileURLs = true;
#else

if (handler.PlatformView is WebKit.WKWebView wkWebView)
{                         wkWebView.Configuration.Preferences.SetValueForKey(Foundation.NSObject.FromObject(true), (Foundation.NSString)"allowFileAccessFromFileURLs");
}

#endif
});
#if IOS
var pdfFilePath = Foundation.NSBundle.MainBundle.PathForResource("pdfjs/web/viewer", "html");
var testPdfPath = Foundation.NSBundle.MainBundle.PathForResource("test", "pdf");
string path = $"file://{pdfFilePath}?file=file://{Path.Combine(FileSystem.Current.AppDataDirectory, "Cataloghi", pdf.Descrizione + ".pdf")}";
//path=$"file://{pdfFilePath}?file=file://{testPdfPath}"; This works with a test pdf in Resources/Raw
newPdfView.Source = new UrlWebViewSource{ Url=path};
#elif ANDROID
newPdfView.Source = $"file:///android_asset/pdfjs/web/viewer.html?file=file:{WebUtility.UrlEncode(Path.Combine(FileSystem.AppDataDirectory, "Cataloghi", pdf.Descrizione + ".pdf"))}";
#endif
С файлом ресурса все работает нормально, но с файлом в каталоге Appdata PDF-файл не загружается и показывает панель инструментов pdfjs и пустой документ.
Я попробовал изменить путь, но документ, кажется, ничего не загружает.
В Android это работает без проблем.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ory-in-ios
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • .net MAUI открывает PDF-документ с pdfjs из каталога данных приложения в iOS
    Anonymous » » в форуме IOS
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Любые способы экспорта и импорта аннотаций в формате PDF в формате JSON с помощью Mozilla PdfJs Viewer.
    Anonymous » » в форуме Javascript
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как использовать Rangy с текстовым слоем PDFjs?
    Гость » » в форуме CSS
    0 Ответы
    18 Просмотры
    Последнее сообщение Гость
  • Параметры, не влияющие на просмотр ng2-pdfjs-viewer
    Anonymous » » в форуме Html
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как использовать PDFJS FindController для программного перемещения между матчами?
    Anonymous » » в форуме Javascript
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

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