
Security News
Package Maintainers Call for Improvements to GitHub’s New npm Security Plan
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
@foxitsoftware/react-native-foxitpdf
Advanced tools
react-native-foxitpdf is Foxit's first React Native PDF component for iOS and Android. It uses Foxit PDF SDK for Android/iOS technology to view, render and edit PDFs easily.
First, download the library from npm and install inside your current project folder
npm install @foxitsoftware/react-native-foxitpdf
Link the project to the library automatically
react-native link @foxitsoftware/react-native-foxitpdf
Unzip Foxit PDF SDK for iOS and copy libs folder into the component’s ios folder.
(/xxx/platforms/ios/
)
Please use foxitpdfsdk_(version_no)_ios.zip from https://developers.foxitsoftware.com/pdf-sdk/ios/
Target -> General -> Embedded Binaries
Add dynamic framework "FoxitRDK.framework" and "uiextensionsDynamic.framework" to framework folder and Xcode’s Embedded Binaries
Target -> General -> Linked Frameworks and Libraries -> + -> WebKit.framework
Add following line into AppDelegate.m
#import <FoxitPDF/PDFManager.h>
Download foxit_mobile_pdf_sdk_android_en.zip from [https://developers.foxitsoftware.com/pdf-sdk/android/] (Please use Foxit PDF SDK for Android 6.4.0 )
Unzip foxitpdfsdk_(version_no)_android.zip
and copy libs folder into the component android folder.
/xxx/platforms/android/
In your root android/build.gradle
:
allprojects {
repositories {
mavenLocal()
+ google()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
+ flatDir {
+ dirs project(':@foxitsoftware_react-native-foxitpdf').file("$rootDir/libs")
+ }
}
}
uses-permission
,PDFReaderActivity
and tools:replace
to your android/app/src/main/AndroidManifest.xml
. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
package="com.foxitreact">
+ <uses-permission android:name="android.permission.INTERNET"/>
+ <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
+ <uses-permission android:name="android.permission.VIBRATE"/>
+ <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.RUN_INSTRUMENTATION"/>
+ <uses-permission android:name="android.permission.CAMERA"/>
+ <uses-permission android:name="android.permission.RECORD_AUDIO"/>
<application
android:name=".MainApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme"
+ tools:replace="android:allowBackup,icon,theme,label,name">
+ <activity
+ android:name="com.foxitreader.PDFReaderActivity"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
+ android:screenOrientation="fullSensor"/>
<activity
android:name=".MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
</application>
</manifest>
3.1.0+
, and update the version of Gradle to 4.4+
, you can refer to [https://developer.android.com/studio/releases/gradle-plugin].In your App.js file, you can import the component using the following code:
1.Import FoxitPDF
import FoxitPDF from '@foxitsoftware/react-native-foxitpdf';
2.Initialize the library. The foxit_sn
is rdk_sn
, foxit_key
is rdk_key
and they can be found in the libs folder of Foxit PDF SDK.
FoxitPDF.initialize("foxit_sn","foxit_key");
3.Once the component is initialized, call the function below to open document:
FoxitPDF.openDocument('sample.pdf');
In the openDocument function parameter, add the path to the file you wish to open.
If you are using iOS version: Add the name of the PDF file, but make sure it is located under app Document folder
If you are using Android version: Please input the absolute path of the file in the devices, e.g., FoxitPDF.openDocument('/mnt/sdcard/xxx/xxx.pdf')
In App.js
:
import React, { Component } from 'react';
import {
Platform,
StyleSheet,
Text,
View,
NativeModules,
TouchableOpacity,
} from 'react-native';
import FoxitPDF from '@foxitsoftware/react-native-foxitpdf';
type Props = {};
export default class App extends Component<Props> {
constructor(props) {
super(props);
FoxitPDF.initialize("foxit_sn","foxit_key");
}
onPress() {
FoxitPDF.openDocument('/sample.pdf');
}
render() {
return (
<View style={styles.container}>
<TouchableOpacity onPress={this.onPress}>
<Text>Open PDF</Text>
</TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
});
Initialize Foxit PDF SDK
FoxitPDF.initialize(String, String); // foxit_sn and foxit_key
Open a pdf document
FoxitPDF.openDocument(String, String) // path and password
Copyright (c) 2019 Foxit Corporation
Licensed under the The MIT License (MIT) (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://raw.githubusercontent.com/foxitsoftware/react-native-foxitpdf/master/LICENSE
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
FAQs
React Native Foxit PDF view for iOS + Android
The npm package @foxitsoftware/react-native-foxitpdf receives a total of 47 weekly downloads. As such, @foxitsoftware/react-native-foxitpdf popularity was classified as not popular.
We found that @foxitsoftware/react-native-foxitpdf demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 20 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.