当前位置:   article > 正文

如何使用Foxit Mobile SDK 6.0 快速创建一个PDF阅读器-Android篇_foxit pdf sdk android view setting bar

foxit pdf sdk android view setting bar

Foxit MobilePDF SDK是一款用于移动平台的快速开发包,专注于帮助开发人员将强大的Foxit PDF技术轻松地集成到他们的应用程序中。不知不觉,产品的版本已经到了6.0,近期刚刚发布,6.0有什么变化呢? 下面的内容将会告诉你如何用6.0版本快速创建一个PDF阅读器

最新的SDK可以到官网申请下载:

产品页面:https://developers.foxitsoftware.com/pdf-sdk/

申请下载的页面: https://developers.foxitsoftware.com/pdf-sdk/free-trial/

下面介绍如何用Foxit Mobile PDF SDK快速编写一个功能完整的Android Reader。

以Android Studio 3.0的英文版的IDE为例

创建一个新的Android Studio工程

打开Android Studio工程,选择File -> New -> New Project… 创建一个新工程,显示如下:


修改应用程序名字,以“PDFReader”为例, 点击下一步。

在“Target Android Devices ”面板,选择默认选项,点击下一步。如下:


在“Add an activity to Mobile ”面板,选择"Empty Activity",点击下一步,如下:

在“Customize the Activity ”面板,使用默认选项,点击Finish。

导入Foxit MobilePDF SDK所用的库

要正常使用Foxit Mobile SDK需要导入的文件,列表如下: 

相关文件
存储路径
说明
FoxitRDKUIExtensions.aarfoxit_mobile_pdf_sdk_android_en\libs

由“foxit_mobile_pdf_sdk_android_en\libs\uiextensions_src”工程生成的UI实现文件

包含了“libs\FoxitRDK.jar ”文件及UI界面所需要的资源文件,例如:图片,字符串,布局信息等。

特别:如果想要对默认UI界面做修改,可以修改这个工程重新编译出一个文件。

librdk.so

foxit_mobile_pdf_sdk_android_en\libs\armeabi-v7a

foxit_mobile_pdf_sdk_android_en\libs\arm64-v8a

foxit_mobile_pdf_sdk_android_en\libs\x86 

FoxitRDK.jar所调用的关联的动态库。

可以根据工程需要添加。如果不清楚要用到哪个SO文件,可以把库全部加入到工程中。


1)把关联库添加到工程中,添加完后的工程如下:


2) 在app的"build.gradle"中添加"librdk.so"的引用

  1. android {
  2. sourceSets {
  3. main {
  4. jniLibs.srcDirs = ['libs']
  5. }
  6. }
  7. }
  8. repositories {
  9. flatDir {
  10. dirs 'libs'
  11. }
  12. }

3)在app的"build.gradle"中添加"FoxitRDKUIExtensions.aar"”的引用

 
  1. dependencies {
  2. compile (name:'FoxitRDKUIExtensions', ext:'aar')
  3. implementation 'com.android.support:design:26.1.0'
  4. implementation fileTree(dir: 'libs', include: ['*.jar'])
  5. implementation 'com.android.support:appcompat-v7:26.1.0'
  6. implementation 'com.android.support.constraint:constraint-layout:1.1.2'
  7. testImplementation 'junit:junit:4.12'
  8. androidTestImplementation 'com.android.support.test:runner:1.0.2'
  9. androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
  10. }

代码中添加引用

1) 库导入导出的引用

  1. import com.foxit.sdk.common.Library;
  2. import com.foxit.sdk.common.PDFException;
  3. static {
  4. System.loadLibrary("rdk");
  5. }
  6. ...
  7. try {
  8. Library.init("sn", "key");
  9. } catch (PDFException e) {
  10. e.printStackTrace();
  11. return;
  12. }

2)创建一个“UIExtensionsManager ”并设置到“PDFViewCtrl ”

a) 设置系统主题为"No Title" 模式并把窗口设置为全屏,否则内置的布局可能会受到影响。

参考代码:

  1. import android.view.Window;
  2. import android.view.WindowManager;
  3. ...
  4. // Turn off the title at the top of the screen.
  5. this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  6. // Set the window to Fullscreen.
  7. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  8. WindowManager.LayoutParams.FLAG_FULLSCREEN);

b)初始化“UIExtensionsManager ”并设置到“PDFViewCtrl ”里面

  1. import com.foxit.uiextensions.UIExtensionsManager;
  2. //...
  3. private UIExtensionsManager uiExtensionsManager = null;
  4. //...
  5. uiExtensionsManager = new UIExtensionsManager(this.getApplicationContext(), pdfViewCtrl);
  6. uiExtensionsManager.setAttachedActivity(this);
  7. uiExtensionsManager.onCreate(this, pdfViewCtrl, savedInstanceState);
  8. pdfViewCtrl.setUIExtensionsManager(uiExtensionsManager);

c) 打开渲染PDF文档,并设置content view。

参考代码:

  1. import com.foxit.uiextensions.UIExtensionsManager;
  2. ...
  3. String path = "/mnt/sdcard/input_files/Sample.pdf";
  4. uiExtensionsManager.openDocument(path, null);
  5. setContentView(uiExtensionsManager.getContentView());

d) 修改“AndroidManifest.xml ”

添加"<uses-permission android:name="android.permission.CAMERA"/>",给工程设置访问摄像头的权限

添加"android:configChanges="keyboardHidden|orientation|locale|layoutDirection|screenSize">",保证屏幕旋转的时候工程只会触发“onConfigurationChanged ”,如果不设置,电子签章模块会不能用。

添加”<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />”和

"<service android:name="com.foxit.uiextensions.modules.panzoom.floatwindow.service.FloatWindowService"/>",给工程设置浮动窗口权限。如果不设置,面板和放大缩小模块会不能用。

设置完后,执行工程就可以

执行效果如下


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/243118
推荐阅读
相关标签
  

闽ICP备14008679号