As part of the KDAN ecosystem, ComPDF SDK for React Native helps developers add advanced PDF viewing, annotation, editing, and signing features to React Native applications on Android and iOS.
It offers a native-backed React Native integration so teams can deliver mobile PDF workflows without building document tooling from scratch.
If you find ComPDF SDK useful, please consider giving us a ⭐ Star on GitHub — it helps us grow and improve! Got questions or ideas? Join the conversation in our Discussions.

Why ComPDF SDK for React Native?
Easy to Integrate: Integrate PDF functionalities easily with our powerful SDK and clear documentation and guides with few lines of code.
Fully Customizable UI: Design a unique interface for your products with fully customizable UI source code by a high-performing SDK.
Comprehensive PDF Features: Supports generation, viewing, annotation, page editing, content editing, conversion, OCR, redaction, signing, forms, parsing, measurement, compression, comparison, color separation, batch processing, and more.
Faster Time-to-Market: Comprehensive SDK libraries save your time and expenses and roll out your applications and projects.
High-quality Service: We provide 24/7 professional one-to-one technical support, including onsite service and remote assistance via phone and email.
Viewer: Fast and smooth PDF rendering and viewing
Annotations:
Notes - add longer comments with adjustable icon shape and color
Ink - freehand drawing with customizable color, opacity, line thickness
Text - add, move, resize text directly on page
Inspector - adjust annotation looks (line styles, borders, colors, opacity, font)
Comment on Annotations and Update Status
Import & Export & Flatten Annotations (XFDF, FDF, JSON)
Highlight, Underline, Strikeout, Squiggly
Shapes - Rectangle, Oval, Line, Arrow, Polygon, Polyline, Cloud
Stamps, Sound, Movie, File Attachment, Link, Distance, Perimeter, Area
Forms:
Process fillable and static PDF forms
Form filling, form creation, form flattening
Document Editor:
Page manipulation - insert, delete, rotate, reorder, extract, crop
Split PDF, Merge PDF
Content Editor: Edit PDF text and images directly like in Word
Security:
Encryption - set open password, permission password
Restrict printing, copying, editing
Signatures:
Electronic Signatures - draw, type, image signatures
Digital Signatures - certificate-based signature validation
Watermark:
Add Text or Image Watermarks
Delete Watermarks
Customize Watermarks
OCR:
AI OCR
Recognize Tables, Graphics, Images
Support recognition in 80+ Languages
Compare Documents: Side-by-side document comparison to highlight differences
Redaction: Permanently remove sensitive content from PDFs
Measurement: Distance, area, perimeter measurement tools
Compress: Optimize and reduce PDF file size
Convert Files:
Convert PDF to Word, Excel, PPT, HTML, CSV, images (PNG,JPEG, JPEG, JPEG2000, BMP, TIFF, TGA, GIF), RTF, TXT, JSON, XML, markdown, searchable PDF, searchable OFD.
Convert images (PNG,JPEG, JPEG, JPEG2000, BMP, TIFF, TGA, GIF) to Word, Excel, PPT, HTML, CSV, RTF, TXT, JSON, XML.
Convert Word, Excel, PPT, HTML, CSV, PNG, RTF, TXT to PDF
UI Customization:
Toolbar Customization
UI Personalization
Ready-Made UI Options
Out-of-the-box Source Code
Before starting the integration, please ensure the following prerequisites are met:
ComPDF offers a 30-day free trial license for testing your project. Get one online without contacting sales.
If you require advanced PDF features beyond the free trial license, please contact us to obtain a commercial license.
Download the ComPDF ReactNative PDF SDK from Github or NPM.
Please install the following required packages:
Operating Environment Requirements:
Please install the following required packages:
Operating Environment Requirements:
Let's create a simple app that integrates ComPDF for React Native.
~/Documents/ directory:bash
cd ~/Documents
bash
react-native init MyApp
bash
cd MyApp
If you’re using Expo, ComPDF requires a development build or EAS Build, so it won’t run inside Expo Go.
Add the official plugin to your Expo config:
{
"expo": {
"plugins": ["@compdfkit_pdf_sdk/react_native"]
}
}
Use this plugin-driven flow for Expo and EAS Build instead of manually editing ios/Podfile. For the full setup, check out how to use ComPDF React Native SDK with Expo.
You can integrate the SDK in two ways:
MyApp folder, install @compdfkit_pdf_sdk/react_native by calling:shell
yarn add github:ComPDFKit/compdfkit-pdf-sdk-react-native
MyApp folder, install run the following commands:yarn add @compdfkit_pdf_sdk/react_native
android/app/src/main/AndroidManifest.xml , add Internet Permission and Storage Permission:<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.compdfkit.flutter.example">
+ <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>
assets directory
App.js (or App.tsx) with what is shown for Usage-Examplereact-native run-android.These Podfile steps are for React Native CLI projects. If you’re using Expo, declare
@compdfkit_pdf_sdk/react_nativeinapp.jsonand letexpo prebuildor EAS Build inject the ComPDF pods for you.
open ios/Podfile
target 'MyApp' do ... end block:target 'MyApp' do
# ...
+ pod "ComPDFKit", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.6.6/ComPDFKit.podspec'
+ pod "ComPDFKit_Tools", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.6.6/ComPDFKit_Tools.podspec'
# ...
end
Note: If SSL network requests fail to download the ComPDFKit library when you run pod install, you can use the following method instead.
target 'MyApp' do
# ...
+ pod 'ComPDFKit', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.6.6'
+ pod 'ComPDFKit_Tools', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.6.6'
# ...
end
In the ios folder, run pod install.
Open your project’s Workspace in Xcode:
bash
open ios/MyApp.xcworkspace
Make sure the deployment target is set to 12.0 or higher:


<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>
App.js (or App.tsx) with what is shown for Usage-Examplereact-native run-ios.If you haven't get a license key, please check out how to obtain a license key.
ComPDF SDK currently supports two authentication methods to verify license keys: online authentication and offline authentication.
Learn about:
What is the authentication mechanism of ComPDF?
What are the differences between Online Authentication and Offline Authentication?
Accurately obtaining the license key is crucial for the application of the license.
Android
XML file containing the license key.license_key_rn.xml file into the following directory:android/app/src/main/assets/
ComPDFKit.initWithPath('assets://license_key_rn.xml');
iOS
license_key_rn.xmlfile into your project’s ios/directory.
// Copy the license_key_rn_ios.xml file into your iOS project directory (or a readable location):
ComPDFKit.initWithPath('license_key_rn.xml');
Alternative Method
You can also store the License file in the device’s local storage and initialize the SDK using its file path:
```tsx // Obtain the License file through the local storage path of the device for initialization ComPDFKit.i
$ claude mcp add compdfkit-pdf-sdk-react-native \
-- python -m otcore.mcp_server <graph>