2013-03-14 23 views
0

我正在從數據庫生成價格指南 - 需要的許多功能已經制定出來,但系統正在生成空白頁,其中我相信是正確的,但我想知道是否有解決方法。MigraDoc中的空白由於section.PageSetup.SectionStart = BreakType.BreakOdd/EvenPage

簡而言之,我用section.PageSetup.SectionStart來確保新的部分從右頁開始。以這種方式跳過時的左側頁面是空白的。問題在於前一部分的左側頁面有一個標題,新部分的左側頁面有一個標題。標題包含漂亮的背景。

任一個背景或其他會比一個空白頁面好轉,但空白頁是可以接受的 - 我只是在尋找完美:)

跳過的頁面可以有頭/無論從部分背景?

回答

0

跳過的頁面是否可以包含任一節的標題/背景?

不,AFAIK你不能有這個自動。

在我們的應用程序中,我們使用不同的方式來添加背景:每個部分都會獲取一個標籤,指出要使用哪個背景。 我們在我們自己的循環中渲染頁面,在渲染頁面之前添加背景。

見混合MigraDoc和PDFsharp樣品使用RenderPage:
http://www.pdfsharp.net/wiki/MixMigraDocAndPdfSharp-sample.ashx

這裏有一個代碼片段:

// Check tags of all pages 
for (int idx = 0; idx < pageCount; idx++) 
{ 
    DocumentObject[] docObjects = docRenderer.GetDocumentObjectsFromPage(idx + 1); 
    if (docObjects != null && docObjects.Length > 0) 
    { 
    Section section = docObjects[0].Section; 
    DocumentSectionTag sectionTag = null; 
    if (section != null) 
     sectionTag = section.Tag as DocumentSectionTag; 
    if (sectionTag != null && sectionTag.Name != sectionName) 
    { 
     // Your code to handle the background information goes here 

DocumentSectionTag是我們定義的運輸我們需要的信息類。我們的頁面背景是PDF文件的頁面,所以我們只需要頁碼。

+0

只是好奇,看了一下代碼,NeedsEmptyPage和InsertEmptyPage是魔術發生的地方,但是實現一個「InsertEmptySectionPage」添加對齊頁面但是使用正確的頁眉和頁腳配置有多難。也許在上一節中添加一個分頁符,然後讓TopDownFormatter呈現分頁符元素,這看起來是否可行? – 2013-03-14 22:30:22