Windows phone 7 在Windows Phone中打开PDF文件

Windows phone 7 在Windows Phone中打开PDF文件,windows-phone-7,cordova,windows-phone,Windows Phone 7,Cordova,Windows Phone,我正在为WindowsPhone7开发一个应用程序,我正在使用Phonegap模板。 一切看起来都很完美,但现在我被困在试图在浏览器中打开PDF文件。 我尝试了以下方法,但没有成功,因为PDF的url超过了2048个字符的限制(这是一个数据url)。此代码在触发deviceReady事件后运行 var ref = window.open('http://www.google.com', '_blank', 'location=no'); ref.addEventListener('loadsta

我正在为WindowsPhone7开发一个应用程序,我正在使用Phonegap模板。 一切看起来都很完美,但现在我被困在试图在浏览器中打开PDF文件。 我尝试了以下方法,但没有成功,因为PDF的url超过了2048个字符的限制(这是一个数据url)。此代码在触发deviceReady事件后运行

var ref = window.open('http://www.google.com', '_blank', 'location=no');
ref.addEventListener('loadstart', function () { alert(event.url); });
现在,我尝试将PDF文件保存到存储器中,然后尝试用浏览器打开它,但浏览器没有显示任何内容。我正在编辑cordovalib中的InAppBrowser.cs代码,在调用browser.Navigate(loc)之前添加了以下行

此代码返回以下错误: 日志:“错误回调中出错:InAppBrowser1921408518=TypeError:无法获取属性“url”的值:对象为null或未定义”

我不想用ComponentOne


任何帮助都将不胜感激

无法从pdf文件的默认读取器中的独立存储中打开pdf文件。如果文件是联机的,例如,它有一个URI,您可以使用WebBrowserTask打开它,因为这将在Adobe Reader中下载并打开该文件


在Windows Phone 8上,您实际上可以在该扩展名的默认文件读取器中打开自己的文件,但我不确定这将如何帮助您,因为您的目标是PhoneGap和Windows Phone 7。

Toni是正确的。您可以尝试构建自己的查看器(这与使用C1相同,但需要更多时间)。我为WP7开发了iTextSharp和PDFSharp端口,但它们都不是PDF查看器。它们很适合创建PDF并对其进行一些解析(但要呈现它们,需要做更多的工作)。这是我个人的一项追求,但老实说,我得到的最好成绩是能够从PDF中提取一些图像(而不是文本)

试试这个

var installedLocation = Windows.ApplicationModel.Package.Current.InstalledLocation;
var assets = await installedLocation.GetFolderAsync("Assets");
var pdf = await assets.GetFileAsync("metro.pdf");
Windows.System.Launcher.LaunchFileAsync(pdf);

这在我的设备上正常工作。

那么这是否意味着我们无法通过自己的应用程序在WP8中打开pdf或word文档?我也有同样的问题,我在localStorage中下载了一个pdf文件,下载后我想向用户展示,有什么建议吗?@Debhere查看更多信息。
var installedLocation = Windows.ApplicationModel.Package.Current.InstalledLocation;
var assets = await installedLocation.GetFolderAsync("Assets");
var pdf = await assets.GetFileAsync("metro.pdf");
Windows.System.Launcher.LaunchFileAsync(pdf);