因此,我正在完成一个将部署在安卓和iOS手机上的空中应用程序。
我想包括一个手册,详细解释如何使用该应用程序。
首先,我用英文、法文和西班牙文在WORD上写了说明书。结果发现,每一份文件重8Mo,有20页和12张图片。在推特上,每个文件转换成PDF,现在重0.5Mo。
我的目标是:如何将此手册包括在我的应用程序中,最好是没有外部阅读器和互联网连接,并具有流畅和直观的文档导航。
我在网上的研究给我带来了很多解决方案,我想在这里分享,并收集你的想法和意见。
1,在我的应用程序中包括一个PDF阅读器,用于读取内部PDF文件(从应用程序存储目录读取PDF)
优点: pdf总是提供给用户,不需要互联网连接或外部阅读器。
缺点:考虑到下面列出的ANE只适用于一个操作系统,我需要为安卓和iOS环境编写不同的代码。也不确定下面的ANE是否与最新的64位OS版本兼容(有些还没有在过去两年中更新)。
链接:
(免费):(抱歉,名誉还不足以发布链接)(一些应用程序崩溃在一些论坛上报道)
(10美元):(抱歉,声誉不足以让链接发帖)
(免费):(抱歉,名誉还不够链接发布)
PurePDF (不是一个ANE,而是一个AS3类,不确定是否兼容这两个操作系统):(对不起,名誉还不够链接发布)
有人用过PurePDF吗?因为它是100%的AS3代码,它应该可以在所有的操作系统上工作,听起来很有希望。但是我不知道怎么用它!!
2启动外部PDF阅读器来读取内部PDF文件(在应用程序中).
优点:使用openWithDefaultApplication()方法,这两种操作系统可能都可以使用相同的代码。
论坛上的一些用户发现指向内部PDF文件的问题,特别是在手机上。
缺点:显然,如果用户没有安装PDF阅读器,他就无法读取文档。
为了实现这一目标,还提供了一些ANE:
ANDROID: PDF (在Android-5上打开默认PDF阅读器)(抱歉,名誉还不够链接发布)
ANDROID:(免费)(抱歉,名誉还不够链接发布)
安卓: DocLauncher ANE (7美元,不再有售)(抱歉,名誉还不足以发布链接)
iOS: ANE设备文件UTIL (免费并支持iOS 64位)(对不起,名誉还不够链接发布)
使用特殊的工具,我将我的PDF转换成一个SWF,然后将它嵌入到我的IPA或APK中。
优点:它可以在桌面上工作。另外,下面的一些工具提供了导航界面和缩放选项。
缺点:我还没有弄清楚如何将SWF嵌入到我的最后一个IPA或APK中(在将SWF添加到Flash库之后),导航界面也无法定制以适应移动环境。
链接:来自SWF工具的PDF2SWF (免费)(抱歉,名誉不足以发布链接)
PDFMate PDF转换器(免费,支持版本40美元)(对不起,声誉不足以链接发布)
优点: 100%多平台解决方案.
缺点:费时。你可能会失去你的布局。你失去了通常在PDF阅读器中找到的缩放功能。上下滚动是不平稳的。Textfield中的文本长度是有限的等等。
优点:也许相同的代码可能对两种操作系统都有效。
缺点:用户需要一个互联网连接和一个安装的PDF阅读器,我将不得不支付一个远程存储服务,这将(可能)强加一个下载限制。在iOS上:可以通过navigateToUrl打开在线PDF,然后导入到iBooks中。
缺点:在最终的IPA或APK文件中嵌入带有图片的HTML文件似乎很棘手。
具有讽刺意味的是,ADOBE是PDF格式的创建者,AIR正在进行第17次重大更新。
但据我所知,没有一个简单和令人满意的解决方案提供空中显示PDF在所有平台。
有谁知道一个多平台的解决方案来显示pdfs,具有良好的性能(平滑滚动和缩放)?
阅读器应该有页面拇指,基本控件(下一页/上一页等)并应在本地存储或在线阅读pdfs (作为最后手段)。
等待您的好意回复!
BR
发布于 2015-05-31 20:16:47
使用StageWebViewBridge类,我使用了相同的AS3代码,我的带有图片的本地AS3页面在Android和Android上显示得非常完美。
这是目前为止最好的解决方案!
遗憾的是,我没能找到从锚跳到下面的导航按钮的方法。
同样的代码将很快在iOS上测试。
干杯!
发布于 2015-06-28 19:21:24
我终于找到了在iphone上测试的时间(AIR v18 for iOS on iOS v8.1.2)。这是我对这件事的最后一句话:
在iphone上,使用StageWebViewBridge类访问HTML文件不起作用。相反,我通过下面的方法使用了StageWebView,它起了作用:
var fPath:String =新文件( new File("app:/output-html/index.html").nativePath).url;webView.loadURL(FPath));
StageWebViewBridge类使用AIR为Android,AIR用于Windows。
所以这是成功的一半,因为我必须为不同的平台编写不同的代码。但是,总比什么都不做要好;)
诚挚的问候。
https://stackoverflow.com/questions/30276730
复制相似问题