无法以编程方式打开PDF
本文关键字:PDF 方式打 编程 | 更新日期: 2023-09-27 18:06:34
我很难在Unity内部打开PDF文件。目前,我的应用程序将打开文件夹位置,而不是打开实际的PDF本身。
我试过同时使用System.Diagnostics.Process.Start
和Application.OpenURL
,但它们的作用都是一样的。
现在,我的代码看起来像:
Application.OpenURL(Application.dataPath + "/PDFS/" + pdfFile);
现在,当我在如下文件位置硬编码时,它会正确打开PDF:
Application.OpenURL("C:''Users''user''Documents''Locator''Assets''PDFS''foo.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
谢谢翻转