Rishi PJ(Member 13155151) Ответов: 1

Цифровая подпись на документах


ПРИВЕТ,

У меня есть с собой цифровая подпись (файл.pfx). Я хочу добавить эту цифровую подпись в качестве видимой подписи к документу, который может быть любого из следующих форматов - csv, word, excel или PDF. Может ли кто-нибудь помочь мне реализовать это на c# .net windows forms?

Благодарный вам...

Что я уже пробовал:

Я могу успешно прикрепить подпись к pdf-файлу. но не в состоянии прикрепить то же самое к word и excel... пожалуйста помочь

RDBurmon

попробуйте и это тоже
https://www.docusign.com/developer-center/dsa/local_02

Rishi PJ(Member 13155151)

Спасибо.

1 Ответов

Рейтинг:
12

RDBurmon

private void CreateNewPage()
  {
      object missing = System.Reflection.Missing.Value;
      object fileName = @"F:\Doc\test.docx";
      object readOnly = false;
      object isVisible = true;

      //Start Word and open a document.
      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(ref fileName, ref missing, ref readOnly,
          ref missing, ref missing, ref missing, ref missing, ref missing,
          ref missing, ref missing, ref missing, ref isVisible, ref missing,
          ref missing, ref missing, ref missing);

      //  var numberOfPages = oDoc.ComputeStatistics(Word.WdStatistic.wdStatisticPages, false);

      object oEndOfDoc = "\\endofdoc";
      object paramNextPage = Microsoft.Office.Interop.Word.WdBreakType.wdSectionBreakNextPage;

      oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range.InsertBreak(ref paramNextPage);
      //Insert a page break
      object breakPage = Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;


      object saveOption = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
      object originalFormat = Microsoft.Office.Interop.Word.WdOriginalFormat.wdOriginalDocumentFormat;
      object routeDocument = false;

      object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;
      object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToLast;
      object count = 3;

      oWord.Selection.GoTo(ref what, ref which, ref count, ref missing);

      object sigID = "{00000000-0000-0000-0000-000000000000}";


      try
      {
          oWord.Activate();

          SignatureSet signatureSet = oWord.ActiveDocument.Signatures;
          // signatureSet.ShowSignaturesPane = false;
          Signature objSignature = signatureSet.AddSignatureLine(sigID);
          objSignature.Setup.SuggestedSigner = "docSigner";
          objSignature.Setup.SuggestedSignerEmail = "abc@xyz.com";
          objSignature.Setup.ShowSignDate = true;
          //  dynamic shape = objSignature.SignatureLineShape;
      }
      catch (Exception ex) { MessageBox.Show(ex.Message); }

      oWord.Documents.Save();
      oWord.Quit();

      try
      {
          Marshal.ReleaseComObject(oWord);
      }
      catch (Exception e) { MessageBox.Show(e.Message); }
  }