在安卓混合应用程序中使用Pdf.js加载本地文件

3

我正在使用Sencha Touch和Cordova开发一个Android应用程序,需要加载PDF文件。我发现Android上没有Child浏览器支持PDF格式,因此我决定使用PDF.js。我使用以下代码打开PDF文件:

window.open(\''+ ROOT_FOLDER+'/app/util/PDFJS/web/viewer.html?file='+ROOT_FOLDER + '<Path to PDF file>\'

ROOT_FOLDER是本地文件的路径URL,例如file://app/utils.."。

但在此情况下PDF文件无法加载,并抛出异常。

XMLHttpRequest cannot load file:///android_asset/www/<path to PDF file>. Cross origin requests are only supported for HTTP.

请告诉我如何解决这个问题,或者如何使用PDF.js从本地位置加载PDF文件。
1个回答

1
如果您想从本地位置加载文件,则该文件应与viewer.html位于同一文件夹中。简而言之,PDF文件不应在包含所有html和js文件的主文件夹之外。

如果必须放在不同的文件夹中怎么办? - hipkiss
为此,您应该使用诸如Xampp之类的软件在本地服务器上托管您的pdf文件。 - Aditya Gupta
我想这样做,但是需要从服务器下载文件才能运行pdf.js。另外,您能详细说明为什么两者应该放在同一个文件夹中吗? - hipkiss
只是我指的那个 PDF 文件。我做了一些与 pdf.js 相关的项目,只有当它在同一个文件夹中时才能正常工作。 - Aditya Gupta
有趣的是,我一直在将从服务器下载的PDF加载到我的缓存中,然后通过pdf.js加载到一个index.html中,该文件被加载到一个webview中(这个方法可以工作),但这是一个稍微复杂的方法,所以现在我跳过了下载文件的部分。 - hipkiss

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接