Skip to content

删除密码

删除密码是指拥有所有者权限的用户移除用户密码和所有者密码,使文档无需密码即可打开,并默认拥有完全访问权限。

删除密码的步骤:

  1. 使用 CPDFReaderView 组件打开文档。
  2. 解锁文档并获取完全权限。
  3. 从解锁的文档中移除密码。

以下示例展示了如何删除密码:

tsx
const CPDFReaderViewExampleScreen = () => {

  const pdfReaderRef = useRef<CPDFReaderView>(null);

  const [samplePDF] = useState(
    (Platform.OS === 'android'
     ? 'file:///android_asset/PDF_Document.pdf'
     : 'PDF_Document.pdf')
  );

  return (
    <View style={{ flex: 1 }}>
      <Button title='Remove Password' onPress={async () => {

          var document = pdfReaderRef.current?._pdfDocument;
          const removeResult = await document?.removePassword();

        }}></Button>
      <CPDFReaderView
        ref={pdfReaderRef}
        document={samplePDF}
        configuration={ComPDFKit.getDefaultConfig({
          toolbarConfig: {
            mainToolbarVisible: true,
            iosLeftBarAvailableActions: [
              CPDFToolbarAction.THUMBNAIL
            ]
          }
        })}
        />
    </View>
  );
};

检查文档是否已加密:

tsx
var document = pdfReaderRef.current?._pdfDocument;
const isEncrypted = await document?.isEncrypted()

获取文档权限状态:

dart
var document = pdfReaderRef.current?._pdfDocument;
const permissions = await document?.getPermissions();

权限状态说明:

权限状态描述枚举值
无权限文档未应用任何权限CPDFDocumentPermissions.NONE
用户权限使用用户密码打开文档,可能限制打印和复制等操作CPDFDocumentPermissions.USER
所有者权限使用所有者密码打开文档,无任何限制CPDFDocumentPermissions.OWNER

检查所有者权限:

tsx
var document = pdfReaderRef.current?._pdfDocument;
// 检查当前文档是否通过所有者权限解锁
const unlocked = await document?.checkOwnerUnlocked()

// 检查所有者密码是否正确
const result = await document?.checkOwnerPassword('4321')