javascript-在android中实现pdf.js以读取SD卡

javascript-在android中实现pdf.js以读取SD卡,第1张

概述我正在尝试为我的Android应用程序实现pdf查看器,该查看器显示SD卡中存在的不同pdf文件.我正在考虑使用pdf.js库.我使用的代码示例如下:https://bitbucket.org/butelo/pdfviewer/但是,该库将javascript文件中的pdf网址作为其所属文件夹(/assets/pdfviewer)的相对地址.<script

我正在尝试为我的Android应用程序实现pdf查看器,该查看器显示SD卡中存在的不同pdf文件.

我正在考虑使用pdf.Js库.我使用的代码示例如下:https://bitbucket.org/butelo/pdfviewer/

但是,该库将JavaScript文件中的pdf网址作为其所属文件夹(/ assets / pdfvIEwer)的相对地址.

<script type="text/JavaScript">var url = '../compressed.tracemonkey-pldi-09.pdf';</script>

我如何重定向它以使用sdcard文件夹中存在的pdf?

pdf的文件名也不固定,我需要根据要求在程序中更改它们.

更新————————————————- ————————————————– ———————–

我这样更新了Java代码:

Uri path = Uri.parse(Environment.getExternalStorageDirectory().toString() + "/data/test.pdf");        webVIEw.loadUrl("file:///androID_asset/pdfvIEwer/index.HTML?file=" + path);

在pdffile.Js中,我修改了以下内容:

从:

<script type="text/JavaScript">var url = '../compressed.tracemonkey-pldi-09.pdf';</script>

至:

var url = getURLParameter('file');function getURLParameter(name) {return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null}

上面的JavaScript代码从“ index.HTML”的网址中提取“ file”参数

仍然无法正常工作. logcat中的网络视图“铬”显示:

I/chromium(1353): [INFO:CONSolE(106)] "Warning: Unhandled rejection: Unexpected server response (0) while retrIEving pdf "file:///storage/sdcard0/data/test.pdf".", source: file:///androID_asset/pdfvIEwer/pdf.Js (106)"

这似乎是跨服务器问题.那么,如何在不使用服务器的情况下修改pdf.Js代码以读取本地文件?

解决方法:

解决了这个问题.该应用缺少READ_EXTERNAL_STORAGE权限.

可以在以下位置找到代码:https://github.com/pauldmps/Android-pdf.js
它具有Apache V2许可证,因此可以在您的应用中随意使用.

总结

以上是内存溢出为你收集整理的javascript-在android中实现pdf.js以读取SD卡全部内容,希望文章能够帮你解决javascript-在android中实现pdf.js以读取SD卡所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存