【问题标题】:Unable to open PDF programmatically无法以编程方式打开 PDF
【发布时间】:2014-06-04 13:39:53
【问题描述】:

我很难在 Unity 中打开 PDF 文件。目前,我的应用程序将打开文件夹位置,而不是打开实际的 PDF 本身。

我尝试过同时使用System.Diagnostics.Process.StartApplication.OpenURL,但它们的行为都一样。

现在,我的代码如下所示:

Application.OpenURL(Application.dataPath + "/PDFS/" + pdfFile);

现在当我像下面这样在文件位置硬编码时,它会正确打开 PDF:

Application.OpenURL("C:\\Users\\user\\Documents\\Locator\\Assets\\PDFS\\foo.pdf");

通常我会将其保留为硬编码,但我需要允许一个按钮打开任何 PDF。我该如何解决这个问题?

【问题讨论】:

  • 您是否确认两条路径相同?

标签: c# pdf unity3d


【解决方案1】:

下面两行的字符串输出很可能不相等。

Application.OpenURL(Application.dataPath + "/PDFS/" + pdfFile);

Application.OpenURL("C:\\Users\\user\\Documents\\Locator\\Assets\\PDFS\\foo.pdf");

确保路径相同,您应该会得到预期的结果。

在此处查看 Application.OpenURL 的文档: http://docs.unity3d.com/ScriptReference/Application-dataPath.html

如果你读到底部,你会注意到:

“请注意,PC 上返回的字符串将使用正斜杠作为文件夹分隔符。”

这可能是您得到不同结果的原因。

还要注意 Application.OpenURL 的值会根据平台而变化。

【讨论】:

    【解决方案2】:
    string pdfURL = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpRuntime.AppDomainAppVirtualPath + "Documents/keyboard-shortcuts-Visual-Studio-Code.pdf";
    

    它返回下面的 url 并在浏览器中运行

    http://localhost:1727/Documents/keyboard-shortcuts-Visual-Studio-Code.pdf

    谢谢 倒置

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多