2016-08-04 8 views
0

Ich habe versucht, ein Bild in meiner Kopfzeile in einer Word-Datei hinzuzufügen. Ich versuchte es mit:Hinzufügen von Bild in der Kopfzeile zu einem .docx mit Novacode DocX

p1.AppendPicture(picture); 

Und auch mit einem Tisch:

Table t1 = header_default.InsertTable(10,2); 
t1.Pictures.Add(picture); 

Nun das große Problem ist, dass der Code nie an diesen Ort führen Sie es durch Einfügen eines Absatzes in den Header immer abstürzt ist:

Paragraph p1 = header_default.InsertParagraph(); 

oder

Table t1 = header_default.InsertTable(10,2); 

Fehler: System.NullReferenceException

Ich bin neu in .net und docx Bibliothek hoffe jemand kann mir mit dem prblem helfen kann

+0

https://msdn.microsoft.com/EN-US/library/office/ff194465.aspx – Slai

Antwort

1

Dies ist, wie ich es mache, merke ich Doc.Headers.odd verwenden, anstatt zuerst

 Doc.AddHeaders(); 
     var headerDefault = Doc.Headers.odd; 
     var headlineFormat = GetTopHeadlineFormat(); 
     var logo = System.Drawing.Image.FromFile(AppSettings.MulalleyLogoSmall); 
     using (var ms = new MemoryStream()) 
     { 
      logo.Save(ms, logo.RawFormat); 
      ms.Seek(0, SeekOrigin.Begin); 
      var img = Doc.AddImage(ms); 
      var pic1 = img.CreatePicture(); 
      var p = headerDefault.InsertParagraph(); 
      p.InsertPicture(pic1); 
      p.InsertParagraphBeforeSelf(Doc.InsertParagraph()); 
     }