easyofd_core/model/permissions.rs
1//! OFD 文档权限。
2//!
3//! 对应 Java: org.ofdrw.core.basicStructure.doc.permission.CT_Permissions
4
5/// 文档权限(ofd:Permissions),位于 Document.xml 根下。
6///
7/// 对应 Java: ofdrw CT_Permissions。每个权限项为布尔值(true/false),
8/// `print` 使用 `Printable` 属性。
9#[derive(Debug, Clone, Default, PartialEq, Eq)]
10pub struct Permissions {
11 /// 是否允许编辑(ofd:Edit)。
12 pub edit: Option<bool>,
13 /// 是否允许注释(ofd:Annot)。
14 pub annot: Option<bool>,
15 /// 是否允许导出(ofd:Export)。
16 pub export: Option<bool>,
17 /// 是否允许签名(ofd:Signature)。
18 pub signature: Option<bool>,
19 /// 是否允许水印(ofd:Watermark)。
20 pub watermark: Option<bool>,
21 /// 是否允许打印屏幕(ofd:PrintScreen)。
22 pub print_screen: Option<bool>,
23 /// 是否允许打印(ofd:Print @Printable)。
24 pub print: Option<bool>,
25 /// 是否允许复制文本(ofd:CopyText)。
26 pub copy_text: Option<bool>,
27 /// 是否允许内容注册(ofd:ContentRegist)。
28 pub content_regist: Option<bool>,
29}
30
31impl Permissions {
32 /// 创建空权限集合。
33 #[must_use]
34 pub fn new() -> Self {
35 Self::default()
36 }
37}