2017-01-04 11 views
1

У меня есть несколько десятков различных типов документов, для которых требуется подпись. Если подпись должна идти, есть метка [[Подпись]]. Я хотел бы найти этот тег и заменить его изображением подписи.Замена текстового тега в текстовом документе изображением с использованием Novacode

В настоящее время у меня есть документ Novacode.DocX ​​и добавляется изображение после абзаца, содержащего тег [[Подпись]], но это не работает для моих нужд, поскольку оно помещает подпись под местом подписи , Я хотел бы вставить его прямо там, где вместо тега [[Подпись]]. Это код, который у меня есть в настоящее время:

 public static MemoryStream ToSignedPDFStream(this Novacode.DocX document, string signatureImgBase64, string signatureBiometric) 
    { 
     var bytes = System.Convert.FromBase64String(signatureImgBase64); 

     System.Drawing.Image image; 
     using (MemoryStream ms = new MemoryStream(bytes)) 
     { 
      image = System.Drawing.Image.FromStream(ms); 
     } 

     using (MemoryStream imgStream = new MemoryStream()) 
     { 
      image.Save(imgStream, System.Drawing.Imaging.ImageFormat.Bmp); 
      imgStream.Seek(0, SeekOrigin.Begin); 
      var docxImage = document.AddImage(imgStream); 


      var addresses = document.FindAll("[[Signature]]"); 
      var paragraphs = document.Paragraphs.Where(x => x.Text.Contains("[[Signature]]")); 
      foreach (var paragraph in paragraphs) 
      { 
       paragraph.ReplaceText("[[Signature]]", ""); 
       paragraph.AppendPicture(docxImage.CreatePicture(50, 150)); 

      } 

      var memoryStream = new MemoryStream(); 
      document.SaveAs(memoryStream); 

     } 

     var pdfStream = document.ToPDFStream(); 

     var biometricFile = File.WriteAllText(); 

     return pdfStream; 
    } 

Это работает технически, но неправильно помещает подпись.

ответ

1

мне пришлось управлять один и тот же вопрос здесь несколько дней назад :)

Ответ поместить тег в ячейку, то изображение может быть установлен в камере, где именно ваша клетка стоит.

Скажите мне, если вы хотите пример кода, чтобы сделать это

+0

Мое окончательное решение, спустя несколько месяцев после этой публикации, должен был использовать шаблонные изображения вместо текстовых меток, которые я мог бы найти и заменить легко, как Word, Shapes. –

+0

хорошо, приятно знать. Ваше окончательное решение кажется более подходящим на самом деле –