2012-03-09 104 views
5

在我的解決方案中我使用PDF文件中的項目符號列表。MigraDoc項目符號列表(孔)

它看起來就像這樣:

• Solcellepaneler kræver hverken autoriseret service eller tidskrævende vedligehold. 
• Solceller er støjfri, forurener ikke og har ingen bevægelige dele, hvilket mindsker 
service og vedligehold 
• Solceller kan integreres i bygningers arkitektur eller anvendes som 
bygningselement i form af tag, facader eller solafskærmning 
• Solceller har lang levetid, med en produktionsgaranti på hele 25 år 
• 10 kvadrameter solceller sparer ca. ½ ton CO2 om året 

我想要什麼:

• Solcellepaneler kræver hverken autoriseret service eller tidskrævende vedligehold. 
• Solceller er støjfri, forurener ikke og har ingen bevægelige dele, hvilket mindsker 
    service og vedligehold 
• Solceller kan integreres i bygningers arkitektur eller anvendes som 
    bygningselement i form af tag, facader eller solafskærmning 
• Solceller har lang levetid, med en produktionsgaranti på hele 25 år 
• 10 kvadrameter solceller sparer ca. ½ ton CO2 om året 

代碼大氣壓:

List<string> items = new List<string>(); 

      items.Add("Solcellepaneler kræver hverken autoriseret service eller tidskrævende vedligehold."); 
      items.Add("Solceller er støjfri, forurener ikke og har ingen bevægelige dele, hvilket mindsker service og vedligehold"); 
      items.Add("Solceller kan integreres i bygningers arkitektur eller anvendes som bygningselement i form af tag, facader eller solafskærmning"); 
      items.Add("Solceller har lang levetid, med en produktionsgaranti på hele 25 år "); 
      items.Add("10 kvadrameter solceller sparer ca. ½ ton CO2 om året"); 



     Style style = document.AddStyle("MyBulletList", "Normal"); 
     style.ParagraphFormat.LeftIndent = "0.5cm"; 

     for (int idx = 0; idx < items.Count; ++idx) 
     { 
      ListInfo listinfo = new ListInfo(); 
      listinfo.ContinuePreviousList = idx > 0; 
      listinfo.ListType = ListType.BulletList1; 
      SolcellDummyText = HvadErSolceller.AddParagraph(items[idx]); 
      SolcellDummyText.Style = "MyBulletList"; 
      SolcellDummyText.Format.ListInfo = listinfo; 
      listinfo.ContinuePreviousList = true; 

     } 

有沒有辦法趕上換行符事件?

+0

不錯的工作......繼續走 – Reniuz 2012-03-09 11:31:57

+0

我用最後5個小時嘗試得到那個工作..所以請不sarchasm .... – Timsen 2012-03-09 11:34:11

+0

什麼是項目?你TestTestTest和TestTestTest存儲在一個項目中嗎?顯示項目如何填充...需要更多信息和解釋。增加更多的努力來創造明確的問題。 – Reniuz 2012-03-09 11:46:03

回答

14

只需設置MyBulletList風格leftindent上,以匹配第一個製表位,該FirstLineIndent設置爲負值,以便爲子彈空間 - 而這一切。

爲了保持它的簡單:最低要求(假設「段落」是AddParagraph的結果):

paragraph.Format.LeftIndent = "2.5cm"; 
paragraph.Format.FirstLineIndent = "-0.5cm"; 
paragraph.Format.ListInfo.ListType = ListType.BulletList1; 

下面是一個使用樣式的示例代碼(風格先前創建的代碼片段只修改它):

style = styles["BulletList"]; 
style.ParagraphFormat.RightIndent = 12; 
style.ParagraphFormat.TabStops.ClearAll(); 
style.ParagraphFormat.TabStops.AddTabStop(Unit.FromCentimeter(2.5), TabAlignment.Left); 
style.ParagraphFormat.LeftIndent = "2.5cm"; 
style.ParagraphFormat.FirstLineIndent = "-0.5cm"; 
style.ParagraphFormat.SpaceBefore = 0; 
style.ParagraphFormat.SpaceAfter = 0; 

正如前面提到的:整個「絕招」是設置leftindent上,並使用負FirstLineIndent定位子彈。

要添加一個樣式,您可以通過文檔樣式,並呼籲:

document.Styles.AddStyle("Bulletlist", "Normal"); 
+0

這將有助於一個樣本,因爲我相當新的migradoc – Timsen 2012-03-09 14:29:29

+0

工作就像一個魅力,謝謝! – Timsen 2012-03-12 09:59:43

+0

這個技巧非常有效!謝謝@ThomasH! – 2015-05-15 04:11:59

相關問題