Skip to content

创建一个项目

Android

  1. 用 Flutter CLI 创建一个叫做 example 的 Flutter 项目:
bash
flutter create --org com.compdfkit.flutter example
  1. 在终端应用程序中,把当前的工作目录移动到您的项目中:
bash
cd example
  1. 打开 "example/android/app/src/main/AndroidManifest.xml" 文件,添加网络、存储权限。
diff
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.compdfkit.flutter.example">
    
    <!-- 在线认证License需要使用网络权限! -->
+    <uses-permission android:name="android.permission.INTERNET"/>
  
    <!-- 需要从设备存储中读取和写入文档 -->
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!-- 可选配置 -->
+    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

		<application
+      android:requestLegacyExternalStorage="true">
      
    </application>   
</manifest>
  1. 打开 App 的 Gradle 构建文件 "android/app/build.gradle"
bash
open android/app/build.gradle
  1. 修改 App 最低支持的系统版本,这些操作都在 "android/app/build.gradle" 文件中的 android 部分里完成(如下所示):
diff
 android {
     defaultConfig {
-        minSdkVersion flutter.minSdkVersion
+        minSdkVersion 21
         ...
     }
 }
  1. 打开项目的 android/app/src/main/java/com/example/compdfkit/flutter/example/MainActivity.java,将 MainActivity 修改为继承 FlutterFragmentActivity
diff
- import io.flutter.embedding.android.FlutterActivity;
+ import io.flutter.embedding.android.FlutterFragmentActivity;

- public class MainActivity extends FlutterActivity {
+ public class MainActivity extends FlutterFragmentActivity {
}

或者,您可以更新 AndroidManifest.xml 文件,将 FlutterFragmentActivity 作为启动活动:

diff
<activity
-     android:name=".MainActivity" 
+     android:name="io.flutter.embedding.android.FlutterFragmentActivity"
      android:exported="true"
      android:hardwareAccelerated="true"
      android:launchMode="singleTop"
      android:theme="@style/LaunchTheme"
      android:windowSoftInputMode="adjustPan">

注意: FlutterFragmentActivity 不是 Flutter SDK 的官方部分。如果您需要在 ComPDFKit for Flutter 中使用 CPDFReaderWidget,您需要使用这部分代码。如果您不需要使用,可以跳过这一步。

  1. 打开 "pubspec.yaml" 文件,添加 ComPDFKit 插件。
diff
 dependencies:
   flutter:
     sdk: flutter
+  compdfkit_flutter: ^2.1.1
  1. 在终端应用程序中,运行下面的命令以获取所有的包:
bash
flutter pub get

iOS

  1. 用 Flutter CLI 创建一个叫做 example 的 Flutter 项目:
bash
flutter create --org com.compdfkit.flutter example
  1. 在终端应用程序中,把当前的工作目录移动到您的项目中:
bash
cd example
  1. "pubspec.yaml" 中添加 ComPDFKit 依赖:
diff
 dependencies:
   flutter:
     sdk: flutter
+  compdfkit_flutter: ^2.1.1
  1. 在终端应用程序中,运行下面的命令以获取所有的包:
bash
flutter pub get
  1. 在文本编辑器中打开您项目的 "Podfile" 文件:
bash
open ios/Podfile
  1. 更新平台为 iOS 12 并添加 "compdfkit_flutter.podspec"
diff
- platform :ios, '9.0'
+ platform :ios, '12.0' 
 ...
 target 'Runner' do
   use_frameworks!
   use_modular_headers!`

   flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+  pod 'ComPDFKit_Tools', podspec:'https://www.compdf.com/download/ios/cocoapods/xcframeworks/compdfkit_tools/2.1.1.podspec'
+  pod 'ComPDFKit', podspec:'https://www.compdf.com/download/ios/cocoapods/xcframeworks/compdfkit/2.1.1.podspec'

 end
  1. 转到 "example/ios" 文件夹并运行 pod install命令:
bash
pod install

注意: 如果SSL网络请求在运行' pod install '时下载' ComPDFKit '库失败,您可以查看故障排除中的处理方法。

  1. 保护用户隐私:

为了保护用户隐私,在访问敏感的隐私数据之前,需要找到 iOS 10.0 或更高版本 iOS 项目中的 "Info" 配置,并按照下图所示配置相关隐私条款。

objc
<key>NSCameraUsageDescription</key>
<string>Your consent is required before you could access the function.</string>

<key>NSMicrophoneUsageDescription</key>
<string>Your consent is required before you could access the function.</string>

<key>NSPhotoLibraryAddUsageDescription</key>
<string>Your consent is required before you could access the function.</string>

<key>NSPhotoLibraryUsageDescription</key>
<string>Your consent is required before you could access the function.</string>
 
<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
	</dict>