Информация о пользователе
Информация о пользователе
Это руководство показывает, как установить идентичность текущего пользователя, которую Aspose.Words FOSS для .NET сообщает через связанные с пользователем поля документа.
UserInformation представляет собой идентичность, которую Aspose.Words FOSS для .NET использует при оценке полей, сообщающих «текущий пользователь» — Name, Initials и Address. Она привязывается к настройкам оценки полей документа через FieldOptions.CurrentUser, а резервный вариант на уровне процесса доступен через UserInformation.DefaultUser.
Установка текущего пользователя
Document.FieldOptions (экземпляр FieldOptions) раскрывает CurrentUser, объект UserInformation. Установите его свойства Name, Initials и Address перед обновлением полей пользовательской информации, чтобы значения, которые они сообщают, соответствовали идентичности, которую ваше приложение хочет записать. UserInformation.DefaultUser предоставляет статический, процессный UserInformation экземпляр, который можно использовать в качестве резервного, когда FieldOptions.CurrentUser документа не был установлен явно.
Поля пользовательской информации
Три подкласса Field читают идентичность текущего пользователя в тело документа: FieldUserName (поле USERNAME с свойством UserName), FieldUserAddress (поле USERADDRESS с свойством UserAddress) и FieldUserInitials (поле USERINITIALS с свойством UserInitials). Как и другие поля, они используют базовый жизненный цикл Field — GetFieldCode(), Result, Update(), Unlink(), Remove() — и могут быть вставлены с помощью DocumentBuilder.InsertField(fieldCode) или InsertField(fieldType, updateField), используя FieldType.FieldUserName, FieldType.FieldUserAddress или FieldType.FieldUserInitials.
Советы и лучшие практики
- Установите
FieldOptions.CurrentUserперед вызовомUpdate()на полеFieldUserName,FieldUserAddressилиFieldUserInitials, или передDocument.UpdateFields()— иначе поля будут разрешаться относительно текущегоUserInformation. UserInformation.DefaultUser— удобный общий параметр по умолчанию, когда одна и та же идентичность применяется ко всем документам, обрабатываемым вашим приложением; устанавливайтеFieldOptions.CurrentUserдля каждого документа, когда разные документы требуют разных авторов.- Заполняйте одновременно все три значения
Name,InitialsиAddress, если ваши шаблоны используют более одного изFieldUserName,FieldUserAddressиFieldUserInitials— оставление одного пустым приводит к пустому результату поля, а не к ошибке.
Распространённые проблемы
| Проблема | Причина | Исправление |
|---|---|---|
FieldUserName результат пуст после Update() | UserInformation.Name никогда не был установлен на активном UserInformation | Установите FieldOptions.CurrentUser.Name (или UserInformation.DefaultUser.Name) перед обновлением поля |
| Поля пользовательской информации показывают неверного автора в разных документах | UserInformation.DefaultUser является общим для всего процесса | Установите Document.FieldOptions.CurrentUser для каждого документа вместо использования значения по умолчанию |
FAQ
В чём разница между FieldOptions.CurrentUser и UserInformation.DefaultUser?
FieldOptions.CurrentUser — это параметр для каждого документа; установите его в конкретном Document’s FieldOptions, чтобы управлять полями пользовательской информации этого документа. UserInformation.DefaultUser — статический, глобальный для процесса запасной вариант.
Какие поля затрагивает UserInformation?
FieldUserName (USERNAME), FieldUserAddress (USERADDRESS) и FieldUserInitials (USERINITIALS) — каждый читает соответствующее свойство Name, Address или Initials из активного UserInformation.
Нужно ли вызывать Update() после изменения UserInformation?
Да — изменение Name, Initials или Address не обновляет ретроспективно поля, уже вычисленные в документе; вызовите Update() для конкретного поля или Document.UpdateFields().
API Reference Сводка
| Класс / Свойство | Описание: |
|---|---|
UserInformation | Name, Initials, Address; статический резервный экземпляр DefaultUser |
FieldOptions.CurrentUser | Для каждого документа UserInformation используется при оценке полей пользовательской информации |
FieldUserName / FieldUserAddress / FieldUserInitials | Поля USERNAME, USERADDRESS, USERINITIALS |