无法以编程方式打开PDF

本文关键字:PDF 方式打 编程 | 更新日期: 2023-09-27 18:06:34

我很难在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。我该如何解决此问题?

无法以编程方式打开PDF

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

Application.OpenURL(Application.dataPath + "/PDFS/" + pdfFile);
Application.OpenURL("C:''Users''user''Documents''Locator''Assets''PDFS''foo.pdf");

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

请参阅应用程序的文档。OpenURL此处:http://docs.unity3d.com/ScriptReference/Application-dataPath.html

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

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

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

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

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

谢谢翻转