Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Программное подписание документа MS Word / 6 сообщений из 6, страница 1 из 1
06.05.2014, 16:40
    #38634766
SMARTi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное подписание документа MS Word
Возникла необходимость программно подписать документ word, чтобы при открытия файла в самом ворде можно было увидеть, что документ собственно подписан. И первый вопрос возможно ли это? Поискав инфу, я пришел к выводу, что возможно, но не могу разобраться как. Начал искать информацию по работе с word документами, нашел информация про пространство имен Microsoft.Office.Interop.Word и в нем имеется класс Document и у него даже есть свойство Signatures (перечисление т.к. может быть несколько подписей), но как ее добавить либо считать разобраться не смог. При этом если даже подпишу документ стандартными средствами Word, Signatures.Count вернет 0. Может кто-либо подсказать что-либо по этой теме, может кто-то уже решал подобную задачу? Буду благодарен за любую информацию.
...
Рейтинг: 0 / 0
11.05.2014, 10:17
    #38637898
SMARTi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное подписание документа MS Word
Продолжаю копаться в этом вопросе, решил написать о достигнутых результатах в этой теме (может быть это кому-то пригодится).
Получилось открыть документ для работы с ним:
Код: 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
11.05.2014, 20:19
    #38638105
Kottik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное подписание документа MS Word
SMARTi,
возможно, вам это поможет Add Digital Signature to Documents in a Document Library using C#
...
Рейтинг: 0 / 0
13.05.2014, 07:07
    #38639353
SMARTi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное подписание документа MS Word
Kottik,

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

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

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


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