PDF 生成模板编辑器
开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。
PDF 权限模块通过提供加密、文档权限、解密和密码移除功能来确保文档安全性,允许用户对文档进行安全的控制和管理。
加密
加密功能由两部分组成:用户密码和所有者密码。
这种双重密码系统旨在提供更加灵活且安全的文档访问与管理方式。
ComPDF 提供多种加密算法与权限设置。根据需求,您可以选择适当的算法并配置自定义权限以保护文档。
加密步骤如下:
以下示例展示了如何加密文档:
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='Set Password' onPress={async () => {
var document = pdfReaderRef.current?._pdfDocument;
const allowsPrinting = false;
const allowsCopy = false;
const result = await document?.setPassword(
'1234', //文档开启密码
'4321', //所有者密码
allowsPrinting,
allowsCopy,
CPDFDocumentEncryptAlgo.AES128);
console.log('ComPDF-RN setPassword:', result);
}}></Button>
<CPDFReaderView
ref={pdfReaderRef}
document={samplePDF}
configuration={ComPDFKit.getDefaultConfig({
toolbarConfig: {
mainToolbarVisible: true,
iosLeftBarAvailableActions: [
CPDFToolbarAction.THUMBNAIL
]
}
})}
/>
</View>
);
};不同加密算法
| 加密算法 | 描述 | 枚举值 |
|---|---|---|
| No Encrypt Algo | 不进行加密 | CPDFDocumentEncryptAlgo.noEncryptAlgo |
| RC4 | 基于密钥的异或加密明文 | CPDFDocumentEncryptAlgo.rc4 |
| AES-128 | 使用 128 位密钥的 AES 加密 | CPDFDocumentEncryptAlgo.aes128 |
| AES-256 | 使用 256 位密钥的 AES 加密 | CPDFDocumentEncryptAlgo.aes256 |