所以我正在完成一个AIR应用程序,它将部署在Android和iOS手机上。
我想要一本手册,详细说明如何使用该应用程序。
首先,我用WORD写了英语,法语和西班牙语的使用说明书。 原来,每个文件的重量为8Mo,有20页和十几张图片。 翻阅DPI,每个转换为PDF的文件现在重0.5Mo。
我的目标是:如何在我的应用程序中包含此手册,最好不使用外部阅读器和互联网连接,以及流畅直观的文档导航。
我对网络的研究使我得到了不少解决方案,我想在这里分享,并从中收集尽可能多的想法和意见。
1 在我的应用程序中包含PDF阅读器以阅读内部PDF文件(来自应用程序存储目录的PDF)
PROS:pdf始终可供用户使用,无需互联网连接或外接阅读器。
缺点:鉴于下面列出的ANE仅适用于一个操作系统,我需要为Android和iOS环境编写不同的代码。还不确定下面的ANE是否与最新的64位操作系统版本兼容(有些版本在过去2年内未更新)。
链接:
PDF阅读器ANE for iOS(免费):(对不起,声誉并不足以发布链接)(某些论坛报告了一些应用程序崩溃)
PDF阅读器ANE for iOS(10美元):(对不起,声誉并不足以发布链接)
PDF阅读器ANE for Android(免费):(对不起,声誉并不足以发布链接)
PurePDF(不是ANE,但是AS3类,不确定是否与两个操作系统兼容):(对不起,声誉并不足以发布链接)
有人使用过PurePDF吗?由于它是100%AS3代码,它应该适用于所有操作系统,听起来很有希望。但我不知道如何使用它!!
2 启动外部PDF阅读器以阅读内部PDF文件(在应用程序内)。
PROS:使用openWithDefaultApplication()方法可能会对两个操作系统都使用相同的代码。
论坛上的某些用户会发现指向内部PDF文件的问题,特别是在手机上。
缺点:显然,如果用户没有安装PDF阅读器,他将无法阅读该文档。
也可以使用一些ANE来实现这一目标:
ANDROID:PDF阅读器ANE(在Android上打开默认PDF阅读器 - $ 5)(对不起,声誉并不足以发布链接)
ANDROID:PDF阅读器ANE for Android(免费)(对不起,声誉并不足以发布链接)
ANDROID:DocLauncher ANE(7美元,不再可用)(抱歉,声誉不足以发布链接)
iOS:ANE DEVICE FILE UTIL(免费并支持iOS 64bit)(对不起,声誉并不足以发布链接)
使用特殊工具,我将PDF转换为SWF,然后将其嵌入到我的IPA或APK中。
PROS:它适用于桌面。此外,下面的一些工具提供了导航界面和缩放选项。
缺点:我还没有想出如何将SWF嵌入我的最终IPA或APK(将SWF添加到Flash CS6 FLA库之后),导航界面也无法自定义以适应移动环境。
链接: 来自SWF工具的PDF2SWF(免费)(对不起,声誉并不足以发布链接)
PDFMate PDF转换器(免费,专业版40美元)(对不起,声誉并不足以发布链接)
4。 创建包含大量帧的动画片段(+50);然后在框架中划分我的文档内容并将我的文本粘贴到textFields中。然后添加一些基本的导航按钮。
PROS:100%多平台解决方案。
缺点:耗费时间。您可能会丢失布局。您将失去PDF阅读器中常见的缩放功能。向上和向下滚动并不顺利。 Textfield内的文本长度有限等。5。 启动外部PDF阅读器以读取外部PDF文件(存储在服务器中)。
PROS:也许相同的代码可能适用于两种操作系统。
缺点:用户需要互联网连接和安装的PDF阅读器。我将需要支付一个远程存储服务,该服务将(可能)施加下载限制。 在iOS上:可以通过navigateToUrl打开在线PDF,然后导入到iBooks中。
6。 使用StageWebView类(或StageWebViewBridge类)显示HTML文件(将PDF转换为HTML后)。
缺点:将带有图片的HTML文件嵌入最终的IPA或APK文件中似乎很棘手。
具有讽刺意味的是,ADOBE是PDF格式的创建者,AIR正处于第17次重大更新。
但据我所知,AIR并没有提供简单而令人满意的解决方案来在所有平台上显示PDF。
你们有没有人知道一个多平台的解决方案来展示pdf,性能很好(平滑滚动和缩放)?
读者应具有页面拇指,基本控件(下一页/上一页等),并应在本地存储或在线(最后的手段)阅读pdf。
等待您的回复!
BR
答案 0 :(得分:0)
使用StageWebViewBridge类,我使用了相同的AS3代码,带有图片的本地HTML页面在AIR for Android和AIR for Windows上完美显示。
这是迄今为止最好的解决方案!
遗憾的是,我无法使用导航按钮找到从锚点跳到下一个锚点的方法。
相同的代码将很快在iOS上测试。
干杯!
答案 1 :(得分:0)
我终于找到了一些时间来测试iphone(iOS v8.1.2上的iOS版AIR v18)。 以下是关于此事的最后一句话:
在iphone上,使用 StageWebViewBridge 类访问HTML文件无效。 相反,我使用 StageWebView ,通过下面的方法,它工作:
var fPath:String = new File(new 文件( “应用程序:/output-html/index.html”)。nativePath属性)的.url; webView.loadURL(fPath);
StageWebViewBridge 类适用于AIR for Android和AIR for Windows。
所以它取得了一定的成功,因为我必须为不同的平台编写不同的代码。 但是,嘿,更好的东西比什么都没有;)
最好的问候。