Skip to main content

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}