powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Программное подписание документа MS Word
6 сообщений из 6, страница 1 из 1
Программное подписание документа MS Word
    #38634766
SMARTi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникла необходимость программно подписать документ word, чтобы при открытия файла в самом ворде можно было увидеть, что документ собственно подписан. И первый вопрос возможно ли это? Поискав инфу, я пришел к выводу, что возможно, но не могу разобраться как. Начал искать информацию по работе с word документами, нашел информация про пространство имен Microsoft.Office.Interop.Word и в нем имеется класс Document и у него даже есть свойство Signatures (перечисление т.к. может быть несколько подписей), но как ее добавить либо считать разобраться не смог. При этом если даже подпишу документ стандартными средствами Word, Signatures.Count вернет 0. Может кто-либо подсказать что-либо по этой теме, может кто-то уже решал подобную задачу? Буду благодарен за любую информацию.
...
Рейтинг: 0 / 0
Программное подписание документа MS Word
    #38637898
SMARTi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжаю копаться в этом вопросе, решил написать о достигнутых результатах в этой теме (может быть это кому-то пригодится).
Получилось открыть документ для работы с ним:
Код: c#
1.
2.
3.
4.
5.
Microsoft.Office.Interop.Word._Application oWord;
Microsoft.Office.Interop.Word._Document oDoc;
oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = true;
oDoc = oWord.Documents.Open(@"C:\Users\Sergey\Desktop\temp\test.docx");


Если свойство Visible указать false, то окно MS Word появляться не будет.

Код: c#
1.
2.
oDoc.Signatures.Add();
Console.WriteLine(oDoc.Signatures.Count);


oDoc.Signatures.Add(); вызовет вордовское диалоговое окно добавления ЭЦП. И вот тут появляется проблема, т.к. в этом диалоговом окне пользователю необходимо нажать "Подписать". Мне же надо, чтобы все было автоматизировано и выполнялось с наименьшим участием пользователя.

oDoc.Signatures.Count - возвращает количество подписей в документе на текущий момент.
...
Рейтинг: 0 / 0
Программное подписание документа MS Word
    #38638105
Kottik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SMARTi,
возможно, вам это поможет Add Digital Signature to Documents in a Document Library using C#
...
Рейтинг: 0 / 0
Программное подписание документа MS Word
    #38639353
SMARTi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kottik,

Спасибо за хороший пример, но все же это не совсем то, здесь также используется диалоговое окно подписания Word'a.
...
Рейтинг: 0 / 0
Программное подписание документа MS Word
    #38642265
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMARTiKottik,

Спасибо за хороший пример, но все же это не совсем то, здесь также используется диалоговое окно подписания Word'a.
В чем тогда смысл подписи, если это сможет сделать любая программулина без участия подписанта.
...
Рейтинг: 0 / 0
Программное подписание документа MS Word
    #38642996
SMARTi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,

То решение которое я ищу, я собирался использовать в другой программе где пользователь уже авторизован и имеет рабочий сертификат ЭЦП, получается, что окно ворда не имеет высокую необходимость.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Программное подписание документа MS Word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]