2015-05-13 15 views
2

我正在使用MigraDoc創建PDF。根據我的要求,我必須根據頁面\ section的內容添加不同的標題。我可以通過添加新的部分併爲每個部分定義新的標題來實現它。直到這裏,它工作正常。
在頁腳中,我使用「AddPageField」顯示頁碼。但我意識到,無論何時一個新的部分開始,頁面字段重置爲1.是否有任何方法頁腳繼續所有部分的頁數?
如果我在整個文檔中只使用一個部分,則頁碼繼續。但在這種情況下,我不能使用不同的標題。當新的部分開始時重新設置頁碼 - MigraDoc

+0

我更新了我的答案。花了很長時間才明白髮生了什麼,但最終我找到了你的問題的答案。 –

回答

4

這似乎是在MigraDoc一個錯誤的最高版本爲1.50的β1

的錯誤是沒有固定的,但它應該只需要一個小的修改,我希望它會在下一予以糾正發佈。

我不得不改變主意:它不是一個bug,它是一個特性。

爲了達到OP的目標,您必須將PageSetup分配給設置StartingNumber的第一個部分,並將PageSetup分配給第二個沒有設置StartingNumber的部分。

如果沒有爲第二部分設置PageSetup,則此部分將從第一部分繼承PageSetup,並且StartingNumber將應用於兩部分。如果每個部分都是例如,則這是期望的行爲一封連續的信。

這裏是我的testcode(只是一個代碼片段):

var sec1 = document.LastSection; 
sec1.PageSetup = document.DefaultPageSetup.Clone(); 
sec1.PageSetup.StartingNumber = 17; 

sec1.Footers.Primary = new HeaderFooter(); 
var para = sec1.Footers.Primary.AddParagraph(); 
para.AddPageField(); 

var sec2 = document.AddSection(); 
sec2.PageSetup = document.DefaultPageSetup.Clone(); 

第二部分繼承了第一部分頁腳,而是一個新的PageSetup覆蓋StartingNumber。

Clone()來這裏很方便。

相關問題