123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /**
- * Copyright © 2014-2024 PDF Technologies, Inc. All Rights Reserved.
- * <p>
- * 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.
- */
- package com.compdfkitpdf.reactnative;
- import android.content.Intent;
- import android.net.Uri;
- import androidx.annotation.NonNull;
- import com.compdfkit.core.document.CPDFSdk;
- import com.compdfkit.tools.common.pdf.CPDFConfigurationUtils;
- import com.compdfkit.tools.common.pdf.CPDFDocumentActivity;
- import com.compdfkit.tools.common.pdf.config.CPDFConfiguration;
- import com.facebook.react.bridge.ReactApplicationContext;
- import com.facebook.react.bridge.ReactContext;
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
- import com.facebook.react.bridge.ReactMethod;
- public class CompdfkitPdfModule extends ReactContextBaseJavaModule {
- public static final String NAME = "ComPDFKit";
- public static final String FILE_SCHEME = "file:///";
- private ReactContext mReactContext;
- public CompdfkitPdfModule(ReactApplicationContext reactContext) {
- super(reactContext);
- this.mReactContext = reactContext;
- }
- @Override
- @NonNull
- public String getName() {
- return NAME;
- }
- @ReactMethod
- public void init_(String license) {
- CPDFSdk.init(mReactContext, license, true);
- }
- /**
- * Initialize the ComPDFKit SDK.
- * @param androidOnlineLicense The android platform compdfkit license key.
- */
- @ReactMethod
- public void initialize(String androidOnlineLicense, String iosOnlineLicense) {
- CPDFSdk.init(mReactContext, androidOnlineLicense, false);
- }
- /**
- * Display a PDF.
- * @param document The document URI or file path.
- * @param password The document password.
- * @param configurationJson Configuration data in JSON format.
- */
- @ReactMethod
- public void openDocument(String document, String password, String configurationJson) {
- Intent intent = new Intent(mReactContext, CPDFDocumentActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- if (Uri.parse(document).getScheme() == null) {
- document = FILE_SCHEME + document;
- }
- intent.setData(Uri.parse(document));
- intent.putExtra(CPDFDocumentActivity.EXTRA_FILE_PASSWORD, password);
- CPDFConfiguration configuration = CPDFConfigurationUtils.fromJson(configurationJson);
- intent.putExtra(CPDFDocumentActivity.EXTRA_CONFIGURATION, configuration);
- mReactContext.startActivity(intent);
- }
- }
|