0
  • I am using react-native document-picker for pick pdf in react native

How can I get to know that the pdf I choose which is password protected or not without opening pdf file, if pdf is password protected then open a input pop or show input field for entering password

import {View, Text, StyleSheet, TouchableOpacity} from 'react-native';
import React, {useState} from 'react';
import DocumentPicker, {
  DocumentPickerResponse,
} from 'react-native-document-picker';
import {useNavigation} from '@react-navigation/native';

const Home = () => {
  const [pdff, setPdff] = useState<DocumentPickerResponse | string>('');

  const selectDoc = async () => {
    try {
      const res = await DocumentPicker.pick({
        type: [DocumentPicker.types.pdf],
      });

      setPdff(res[0]);
    } catch (err) {
      console.log('error', err);
      if (DocumentPicker.isCancel(err)) {
        console.log('Canceled from single doc picker');
      } else {
        console.log('Unknown Error: ' + JSON.stringify(err));
      }
    }
  };
  const navigation = useNavigation();
  const handleNavigation = () => {
    navigation.navigate('Profile');
  };
  return (
    <View style={styles.container}>
      <Text style={styles.heading}>Document Picker</Text>
      {typeof pdff === 'string' ? null : (
        <View style={styles.data__Container}>
          <Text>{pdff.name}</Text>
          <Text style={styles.deleteBtn} onPress={() => setPdff('')}>
            
          </Text>
        </View>
      )}
      <TouchableOpacity onPress={selectDoc}>
        <Text style={styles.uploadbtn}>Upload Pdf</Text>
      </TouchableOpacity>

      {typeof pdff === 'string' ? null : (
        <TouchableOpacity
          onPress={handleNavigation}
          style={styles.continue__container}>
          <Text style={styles.Continue}>Continue</Text>
        </TouchableOpacity>
      )}
    </View>
  );
};

export default Home;

0 Answers0