【问题标题】:Local PDF hyperlinks in Windows UWP appWindows UWP 应用中的本地 PDF 超链接
【发布时间】:2017-08-31 19:24:42
【问题描述】:

我正在用 javascript 编写 UWP 应用。
其中包含一个链接列表,每个链接都称为 PDF。
PDF 存储在本地应用程序中。
目标是为 Hololens (Windows AR) 提供一个免提文档库
无论如何,我打开 PDF:

Windows.System.Launcher.launchFileAsync(file)

这一切都很好。
然而,PDF 也通过超链接相互引用。
我可以将超链接修改为最初生成 PDF 时的任何内容。
但是我怎样才能使超链接在用户的默认 PDF 应用程序中打开时仍能相互引用。
同样,默认的 PDF 应用程序可以是任何东西。
这在适用于 Windows 的 Adob​​e Acobat 中运行良好,
希望将此功能移植到 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)
  }
);

提前感谢任何帮助

【问题讨论】:

    标签: javascript pdf hyperlink uwp hololens


    【解决方案1】:

    但是我怎样才能使超链接在用户的默认 PDF 应用程序中打开时仍然相互引用。

    当您使用launchFileAsync 方法而不使用LauncherOptions 时,它仍然会使用默认应用程序打开.pdf 文件。

    如果您设置始终使用应用程序打开 .pdf 文件,您应该可以使用 LauncherOptions.TargetApplicationPackageFamilyName 设置用于启动文件的目标包的包系列名称。然后您可以在LaunchFileAsync(IStorageFile, LauncherOptions) 中添加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
        }
    });
    

    【讨论】:

    • 从应用程序启动特定 PDF 时很好。但是从已启动的 PDF 中指向其他 PDF 的超链接呢?这些是 Adob​​e Javascript 中的简单超链接。我无法像在应用程序中那样编写这些代码。我在想,在这种情况下,Edge 应用程序需要在其库中与正确的 PDF 一起打包,才能使超链接正常工作?想法??
    • 其他 PDF 的超链接是什么意思? PDF 文件有一个默认应用程序可以打开它。在 UWP 中,你可以通过其他不更改默认应用的应用打开它。
    猜你喜欢
    • 2019-08-05
    • 1970-01-01
    • 2018-03-21
    • 2016-12-24
    • 1970-01-01
    • 2015-06-24
    • 2013-08-05
    • 2014-06-09
    • 1970-01-01
    相关资源
    最近更新 更多