Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ComPDFKit for Flutter is a full-featured PDF SDK that enables you to quickly integrate PDF features into your Flutter applications for both Android and iOS.

License

NotificationsYou must be signed in to change notification settings

ComPDFKit/compdfkit-pdf-sdk-flutter

Repository files navigation

About

ComPDFKit for Flutter, developed and managed byComPDF, is a powerful PDF library that enables developers to seamlessly integrate PDF viewing, a nnotation, editing, form filling, redaction, and signing into any iOS or Android application. It is available atpub.dev andGitHub.

For more information, please check ourdeveloper guides.

Contents

Requirements

Before starting, please make sure that you have already met the following prerequisites:

Get ComPDFKit License Key

ComPDF offers two types of license keys: a free 30-day trial license and a commercial license.

  • Trial License – You can request a30-day free trial online.
  • Commercial License – For advanced features, custom requirements, or quote inquiries, feel free tocontact our sales.

For the Flutter PDF SDK, the commercial license must be bound to your application’s ApplicationId and iOS BundleId.

System Requirements

Android

Please install the following required packages:

Operating Environment Requirements:

  • A minSdkVersion of21 or higher.
  • AcompileSdkVersion of34 or higher.
  • AtargetSdkVersion of34 or higher.
  • Android ABI(s): x86, x86_64, armeabi-v7a, arm64-v8a.

iOS

Please install the following required packages:

Operating Environment Requirements:

  • The iOS 12.0 or higher.
  • The Xcode 12.0 or newer for Objective-C or Swift.

How to Build the Flutter PDF Editor by Integrating ComPDFKit PDF SDK

image

Create a new project

Android

  1. Create a Flutter project calledexample with theflutter CLI:
flutter create --org com.compdfkit.flutter example
  1. In the terminal app, change the location of the current working directory to your project:
cd example
  1. openexample/android/app/src/main/AndroidManifest.xml , addInternet Permission andStorage Permission:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.compdfkit.flutter.example">+    <uses-permission android:name="android.permission.INTERNET"/>      <!-- Required to read and write documents from device storage -->+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>      <!-- Optional settings -->+    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>    <application+      android:requestLegacyExternalStorage="true">      </application>   </manifest>
  1. Open the app's Gradle build file,android/app/build.gradle:
open android/app/build.gradle
  1. Modify the minimum SDK version, All this is done inside theandroid section:
 android {     defaultConfig {-        minSdkVersion flutter.minSdkVersion+        minSdkVersion 21         ...     } }
  1. Open the project’s main activity class,android/app/src/main/java/com/example/compdfkit/flutter/example/MainActivity.java, Change the baseActivity to extendFlutterFragmentActivity:
- import io.flutter.embedding.android.FlutterActivity;+ import io.flutter.embedding.android.FlutterFragmentActivity;- public class MainActivity extends FlutterActivity {+ public class MainActivity extends FlutterFragmentActivity {}

Alternatively you can update theAndroidManifest.xml file to useFlutterFragmentActivity as the launcher activity:

<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">

Note:FlutterFragmentActivity is not an official part of the Flutter SDK. If you need to useCPDFReaderWidget in ComPDFKit for Flutter, you need to use this part of the code. You can skip this step if you don't need to use.

  1. Add the ComPDFKit dependency inpubspec.yaml
 dependencies:   flutter:     sdk: flutter+  compdfkit_flutter: ^2.5.1+1
  1. Add the PDF documents you want to display in the project
  • create apdf directory

    mkdir pdfs
  • Copy your example document into the newly createdpdfs directory and name itPDF_Document.pdf

  1. Specify theassets directory inpubspec.yaml
 flutter:+  assets:+    - pdfs/
  1. From the terminal app, run the following command to get all the packages:
flutter pub get

iOS

  1. Create a Flutter project calledexample with theflutter CLI:
flutter create --org com.compdfkit.flutter example
  1. In the terminal app, change the location of the current working directory to your project:
cd example
  1. Add the ComPDFKit dependency inpubspec.yaml
 dependencies:   flutter:     sdk: flutter+  compdfkit_flutter: ^2.5.1+1
  1. Open your project's Podfile in a text editor:
open ios/Podfile

Note: If SSL network requests fail to download theComPDFKit library when you runpod install, you can see the processing method inTroubleshooting).

  1. Update the platform to iOS 12 and add the ComPDFKit Podspec:
- 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', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.5.1'+  pod 'ComPDFKit_Tools', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.5.1' end
  1. Go to theexample/ios folder and run thepod install command:
pod install
  1. Add the PDF documents you want to display in the project
  • create apdf directory

    mkdir pdfs
  • Copy your example document into the newly createdpdfs directory and name itPDF_Document.pdf

  1. Specify theassets directory inpubspec.yaml
 flutter:+  assets:+    - pdfs/
  1. To protect user privacy, before accessing the sensitive privacy data, you need to find the "*Info*" configuration in your iOS 10.0 or higher iOS project and configure the relevant privacy terms as shown in the following picture.

<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>
  1. From the terminal app, run the following command to get all the packages:
flutter pub get

Apply the License Key

ComPDFKit PDF SDK currently supports two authentication methods to verify license keys: online authentication and offline authentication.

Learn about:

Accurately obtaining the license key is crucial for the application of the license.

  1. In the email you received, locate theXML file containing the license key.
  2. Copy the License.xml file into theassets directory of your Flutter project.

guides_flutter_2.3_1

  1. Open the pubspec.yaml file of your project and configure the flutter: section to enable the assets directory.

guides_flutter_2.3_2

  1. Initialize the SDK:
// Include the license in Flutter assets and copy to device storage// Add `license_key_flutter.xml` to your Flutter project’s assets directory;File licenseFile=awaitCPDFFileUtil.extractAsset(context,'assets/license_key_flutter.xml');ComPDFKit.initWithPath(licenseFile.path);

Alternative methods (optional)

// Android// Copy the license_key_flutter.xml file into the `android/app/src/main/assets` directory of your Android project:ComPDFKit.initWithPath('assets://license_key_flutter.xml');// iOS// Copy the license_key_flutter.xml file into your iOS project directory (or a readable location):ComPDFKit.initWithPath('license_key_flutter.xml');

Run Project

There are 2 different ways to use ComPDFKit Flutter API:

  • Present a document via a plugin.
  • Show a ComPDFKit document view via a Widget.

Usage Plugin

Openlib/main.dart,replace the entire file with the following:

import'dart:io';import'package:compdfkit_flutter/compdfkit.dart';import'package:compdfkit_flutter/configuration/cpdf_configuration.dart';import'package:compdfkit_flutter/util/cpdf_file_util.dart';import'package:flutter/material.dart';constString _documentPath='pdfs/PDF_Document.pdf';voidmain() {runApp(constMyApp());}classMyAppextendsStatefulWidget {constMyApp({super.key});@overrideState<MyApp>createState()=>_MyAppState();}class_MyAppStateextendsState<MyApp> {@overridevoidinitState() {super.initState();_init();  }void_init()async {File licenseFile=awaitCPDFFileUtil.extractAsset(context,'assets/license_key_flutter.xml');ComPDFKit.initWithPath(licenseFile.path);  }@overrideWidgetbuild(BuildContext context) {returnMaterialApp(      home:Scaffold(        body:SafeArea(          child:Center(            child:ElevatedButton(              onPressed: ()async {showDocument(context);              },              child:constText('Open Document',              )),          ))),    );  }voidshowDocument(BuildContext context)async {var pdfFile=awaitCPDFFileUtil.extractAsset(_documentPath);var configuration=CPDFConfiguration();// Present a document via a plugin.ComPDFKit.openDocument(pdfFile.path,                           password:'', configuration: configuration);  }}

Usage Widget

Openlib/main.dart,replace the entire file with the following:

import'dart:io';import'package:compdfkit_flutter/compdfkit.dart';import'package:compdfkit_flutter/configuration/cpdf_configuration.dart';import'package:compdfkit_flutter/widgets/cpdf_reader_widget.dart';import'package:compdfkit_flutter/util/cpdf_file_util.dart';import'package:flutter/material.dart';constString _documentPath='pdfs/PDF_Document.pdf';voidmain() {runApp(constMyApp());}classMyAppextendsStatefulWidget {constMyApp({super.key});@overrideState<MyApp>createState()=>_MyAppState();}class_MyAppStateextendsState<MyApp> {String? _document;@overridevoidinitState() {super.initState();_init();_getDocumentPath().then((value) {setState(() {        _document= value;      });    });  }void_init()async {/// Please replace it with your ComPDFKit licenseFile licenseFile=awaitCPDFFileUtil.extractAsset(context,'assets/license_key_flutter.xml');ComPDFKit.initWithPath(licenseFile.path);  }Future<String>_getDocumentPath()async {var file=awaitCPDFFileUtil.extractAsset('pdfs/PDF_Document.pdf');return file.path;  }@overrideWidgetbuild(BuildContext context) {returnMaterialApp(      home:Scaffold(        resizeToAvoidBottomInset:false,        appBar:AppBar(          title:constText('CPDFReaderWidget Example'),        ),        body: _document==null?Container():CPDFReaderWidget(          document: _document!,          configuration:CPDFConfiguration(),          onCreated: (_create)=> {})));  }}

Start your Android emulator, or connect a device, Run the app with:

flutter run

Example APP

To seeComPDFKit for Flutter in action, check out ourFlutter example app andAPI reference

Showing a PDF document inside your Flutter app is as simple as this:

/// First. Please replace it with your ComPDFKit license// Include the license in Flutter assets and copy to device storage// Add `license_key_flutter.xml` to your Flutter project’s assets directory;File licenseFile=awaitCPDFFileUtil.extractAsset('assets/license_key_flutter.xml');ComPDFKit.initWithPath(licenseFile.path);/// open pdf documentComPDFKit.openDocument(tempDocumentPath, password:'', configuration:CPDFConfiguration());/// Here’s how you can open a PDF document using CPDFReaderWidget:Scaffold(  resizeToAvoidBottomInset:false,  appBar:AppBar(title:constText('CPDFReaderWidget Example'),),  body:CPDFReaderWidget(    document: widget.documentPath,    configuration:CPDFConfiguration()  ));

Support

ComPDF has a professional R&D team that produces comprehensive technical documentation and guides to help developers. Also, you can get an immediate response when reporting your problems to our support team.

Thanks for reading,TheComPDF Team

About

ComPDFKit for Flutter is a full-featured PDF SDK that enables you to quickly integrate PDF features into your Flutter applications for both Android and iOS.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp