Открытие PDF-файла с помощью pdf.js с помощью Xamarin на телефоне с Windows

Я пытаюсь открыть файл PDF с помощью pdf.js с помощью Xamarin в приложении Windows Phone, но не могу заставить его работать.

Он правильно отображает pdf.js viewer.html, но я просто не могу заставить его открыть файл PDF. Я пробовал следующее:

PdfWebViewer.Source = "Assets/pdf.js/web/viewer.html?
file=ms-appx:///Assets/Temp/test.pdf";

PdfWebViewer.Source = "Assets/pdf.js/web/viewer.html?
file=Assets/Temp/test.pdf";

PdfWebViewer.Source = "Assets/pdf.js/web/viewer.html?
file=File:///Assets/Temp/test.pdf";

PdfWebViewer.Source = "Assets/pdf.js/web/viewer.html?
file=File://Assets/Temp/test.pdf";

В целях тестирования у меня есть файл test.pdf в папке Assets/Temp, а для его ContentType задано значение Content.

Но ни одна из комбинаций, упомянутых выше, не работает. Всякий раз, когда я указываю файл, я просто получаю сообщение «страница не найдена» вместо viewer.html

Мне нужно отобразить кнопки в нижней части PDF-файла, поэтому мне нужно открыть PDF-файл с помощью моего приложения. Открыть PDF с помощью другого приложения не вариант.

Любые идеи?

Спасибо.


person Thierry    schedule 11.10.2015    source источник
comment
Действительно ли необходимо использовать pdf.js для открытия PDF-файлов? Я не использую pdf.js для открытия PDF-файлов в своем приложении, поэтому я не могу вам в этом помочь. Но я открываю PDF-файлы из своего приложения, запуская приложение для чтения PDF-файлов по умолчанию, установленное пользователем (например, Acrobat Reader или OneReader). Если это жизнеспособный вариант для вас, дайте мне знать.   -  person dsnunez    schedule 15.10.2015
comment
Я, вероятно, должен был упомянуть, что мы не можем выйти из приложения, так как нам нужно отображать кнопки в нижней части PDF-файла, но Xamarin попросил меня попытаться создать средство визуализации с веб-просмотром и изменить размер, чтобы заполнить экран до моей панели инструментов. Может быть, это сработает. Я попробую и обновлю этот пост, если он сработает.   -  person Thierry    schedule 15.10.2015


Ответы (1)


Измените схему URI, как показано ниже:

protected override void OnNavigatedTo(NavigationEventArgs e)
        {

                MyView.Source = new Uri(String.Format("ms-appx-web:///Assets/pdfjs/web/viewer.html?file={0}", "ms-appx-web:///Files/a1.pdf"));

// ms-appx-web:///thefolder in which file is available/filename.pdf
        }

Также обратите внимание, что в Windows вы не сможете получить доступ к файловой системе для PDF, а только к связанным PDF-файлам.

person Athul Harikumar    schedule 20.06.2016