2016-05-17 61 views
-2

我正在使用Micorosft Word Interop從C#生成Word文檔。在除第一頁以外的每頁上的標題中添加圖片

我想插入一些圖像到每頁上的標題。我可以成功地做到這一點的每一頁上用下面的代碼:

string imgHeader1 = "C:/image1.jpg"; 
foreach (Section section in document.Sections) 
{ 
    HeaderFooter header = section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary]; 
    header.Range.ParagraphFormat.SpaceAfter = 96; 
    header.Shapes.AddPicture(imgHeader1, 0, 1, 0, -40, 120, 20); 
} 

現在我想這樣做,但不是在第一頁上。 我的建議是以下幾點:

document.PageSetup.DifferentFirstPageHeaderFooter = -1; //True 

string imgHeader1 = "C:/image1.jpg"; 
foreach (Section section in document.Sections) 
{ 
    HeaderFooter header = section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary]; 
    //wdHeaderFooterFirstPage would be for first page.. 
    header.Range.ParagraphFormat.SpaceAfter = 96; 
    header.Shapes.AddPicture(imgHeader1, 0, 1, 0, -40, 120, 20); 
} 

的問題是,圖像仍然出現在第一頁,而不是第二個上。

如果我看從這個問題Different First Page in a document using microsoft office interop word in c#的答案,將代碼複製到我的項目中文字出現在正確的頭,但它似乎並沒有與圖像工作(?)

+0

TRy爲您的循環中的每個部分設置DifferentFirstPage,因爲文檔顯然具有多個Section。 DifferentFirstPage可以通過...... –

+0

這一段來設置,它沒有改變任何東西。 – user3740359

回答

0

使用InlineShapes對象和申請調整大小和positiong做了後招我。

Shape shape = header.Range.InlineShapes.AddPicture(imgHeader1, 0, 1, header.Range).ConvertToShape(); 
shape.Left = -1; 
shape.Top = -42; 
shape.Width = 275; 
shape.Height = 151; 
-1

我會建議使用類似檢查是否它的第一頁。如果是的話,那麼別做任何其他的使用那個圖像

+0

這不適用於Word頁眉和頁腳。 –

1

以下適用於我。我爲文檔中的每個部分設置了DifferentFirstPage,應用格式,插入一些測試文本,插入圖像。 (請注意,我在我的解決方案using Word = Microsoft.Office.Interop.Word,因此從Word對象模型的前綴爲Word.對象)

string imgHeader1 = "C:/image1.jpg"; 
foreach (Word.Section section in document.Sections) 
{ 
    section.PageSetup.DifferentFirstPageHeaderFooter = -1; 
    Word.HeaderFooter header = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary]; 
    //wdHeaderFooterFirstPage would be for first page.. 
    header.Range.ParagraphFormat.SpaceAfter = 96; 
    header.Range.Text = "test"; 
    header.Shapes.AddPicture(imgHeader1, 0, 1, 0, -40, 120, 20); 
} 
+0

對我來說,圖像仍然出現在第一頁 – user3740359

+0

然後,文檔的結構可能存在問題 - 分節符在哪裏。你確定這個「第一頁」實際上是一個部分的第一頁嗎?而「節」我的意思是*新頁*節間隔?或者在此頁面上使用了「連續」分節符?在這種情況下,Word將*不*看作新部分的第一頁,而是作爲上一部分的最後一頁。 –

相關問題