/// /// Copyright © 2014-2024 PDF Technologies, Inc. All Rights Reserved. /// /// THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW /// AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT. /// UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES. /// This notice may not be removed from this file. /// import 'dart:io'; import 'package:compdfkit_flutter/cpdf_configuration.dart'; import 'package:flutter/services.dart'; /// ComPDFKit plugin to load PDF and image documents on both platform iOS and Android. class ComPDFKit { static const MethodChannel _methodChannel = MethodChannel('com.compdfkit.flutter.plugin'); static const initSDK = 'init_sdk'; static const initSdkKeys = 'init_sdk_keys'; static const sdkVersionCode = 'sdk_version_code'; static const sdkBuildTag = "sdk_build_tag"; /// Please enter your ComPDFKit license to initialize the ComPDFKit SDK.
/// This method is used for offline license authentication. /// In version **1.13.0**, we have introduced a brand-new online authentication licensing scheme. /// By default, the ComPDFKit SDK performs online authentication. /// If you are unsure about the type of your license, please contact the [ComPDFKit team.](https://www.compdf.com/support). /// /// **samples:**
/// ```dart /// ComPDFKit.init('your compdfkit license') /// ``` static void init(String key) async { _methodChannel.invokeMethod(initSDK, {'key': key}); } /// Please enter your ComPDFKit license to initialize the ComPDFKit SDK.
/// This method is used for online license authentication /// In version **1.13.0**, we have introduced a brand-new online authentication licensing scheme. /// By default, the ComPDFKit SDK performs online authentication. /// If you obtained your ComPDFKit License before the release of version 1.13.0, please use [ComPDFKit.init]
/// If you are unsure about the type of your license, please contact the [ComPDFKit team.](https://www.compdf.com/support). /// /// **samples:**
/// **online auth** /// ```dart /// ComPDFKit.initialize(androidOnlineLicense : 'your android platform compdfkit license', iosOnlineLicense: 'your ios platform compdfkit license') /// ``` static void initialize({required String androidOnlineLicense,required String iosOnlineLicense}) { _methodChannel.invokeMethod(initSdkKeys, {'androidOnlineLicense': androidOnlineLicense, 'iosOnlineLicense': iosOnlineLicense}); } /// Get the version code of the ComPDFKit SDK. static Future getVersionCode() async { String versionCode = await _methodChannel.invokeMethod(ComPDFKit.sdkVersionCode); return versionCode; } /// Get the version information of ComPDFKit SDK. static Future getSDKBuildTag() async { String buildTag = await _methodChannel.invokeMethod(ComPDFKit.sdkBuildTag); return buildTag; } /// Enter the local PDF file path, document password (if required), /// and configuration parameters, and display the PDF document in a new window. /// /// **for Samples:** /// ```dart /// ComPDFKit.openDocument( /// 'xxx/compdfkit.pdf', /// password : '', /// configuration:CPDFConfiguration()) /// ``` static void openDocument(String document, {String? password, CPDFConfiguration? configuration}) async { await _methodChannel.invokeMethod('openDocument', { 'document': document, 'password': password, 'configuration': configuration?.toJson() }); } /// Retrieve the path of your operating system's temporary directory. /// Support [Android] and [iOS] only for now. static Future getTemporaryDirectory() async { final String? path = await _methodChannel.invokeMethod('getTemporaryDirectory'); if (path == null) { throw Exception('Unable to get temporary directory'); } return Directory(path); } }