无法以编程方式打开PDF

时间:2014-06-04 13:39:53

标签: c# pdf unity3d

我正努力在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。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

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

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的值会根据平台而变化。

答案 1 :(得分:0)

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

感谢 众议员