Локальные гиперссылки PDF в приложении Windows UWP

Я пишу приложение UWP на javascript.
Оно содержит список ссылок, каждая из которых вызывает PDF-файл.
PDF-файлы хранятся локально в приложении.
Цель состоит в том, чтобы предоставить библиотеку рук- бесплатная документация для Hololens (Windows AR). В любом случае я открываю PDF-файлы с помощью:

Windows.System.Launcher.launchFileAsync(file)

Все это отлично работает.
Однако PDF-файлы также ссылаются друг на друга с помощью гиперссылок.
Я могу изменить гиперссылки, чтобы они были любыми при первоначальном создании PDF-файлов.
Но как я могу сделать так, чтобы гиперссылки были по-прежнему ссылаются друг на друга при открытии в приложении PDF по умолчанию пользователя.
И снова приложение PDF по умолчанию может быть любым.
Это отлично работает в Adobe Acobat для Windows,
Хотелось бы перенести эту функцию в UWP.

Текущий код и работа:

window.onload = function () {
    document.getElementById("#id").onclick = function (evt) {
        pdfopen("pdf.pdf")
    }

function pdfopen(pdf) {

var imageFile = "assets\\" + pdf;

// Get the image file from the package's image directory
Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(imageFile).then(
  function (file) {
      // Launch the retrieved file using the default app

      var options = new Windows.System.LauncherOptions();
      Windows.System.Launcher.launchFileAsync(file)
  }
);

Заранее благодарю за любую помощь ‹3


person ipetduckies    schedule 06.04.2017    source источник


Ответы (1)


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

Когда вы используете метод launchFileAsync без LauncherOptions, он всегда будет использовать приложение по умолчанию для открытия файлов .pdf.

Если вы установили всегда использовать приложение для открытия файлов .pdf, вы должны иметь возможность использовать _ 3_, чтобы установить имя семейства пакетов целевого пакета, который следует использовать для запуска файла. Затем вы можете добавить LauncherOptions в что он запускает приложение по умолчанию, связанное с указанным файлом, используя указанные параметры.

Например, для использования Edge для открытия файлов .pdf:

var options = new Windows.System.LauncherOptions();
options.TargetApplicationPackageFamilyName = "Microsoft.MicrosoftEdge_8wekyb3d8bbwe";
Windows.System.Launcher.launchFileAsync(file, options).then(
  function(success) {
    if (success)
    {
        // File launched
    }
    else
    {
        // File launch failed
    }
});
person Jayden    schedule 11.04.2017
comment
Это нормально при запуске определенного PDF-файла из приложения. Но как насчет гиперссылок на другие PDF-файлы из запущенного PDF-файла? Это простые гиперссылки в Adobe Javascript. Я не могу закодировать их, как в приложении. Я думаю, что в этом случае приложение Edge должно быть упаковано с правильными PDF-файлами в его библиотеке, чтобы гиперссылки работали? Мысли?? - person ipetduckies; 17.04.2017
comment
Что вы имеете в виду под гиперссылками на другие PDF-файлы? У PDF-файла есть приложение по умолчанию для его открытия. В UWP вы можете открыть его другим приложением, которое не меняет приложение по умолчанию. - person Jayden; 20.04.2017