MigraDoc子弹清单(孔)

在我的解决方案中,我使用PDF文件中的项目符号列表。

看起来像这样:

• 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 

代码atm:

 List items = new List(); 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  0; listinfo.ListType = ListType.BulletList1; SolcellDummyText = HvadErSolceller.AddParagraph(items[idx]); SolcellDummyText.Style = "MyBulletList"; SolcellDummyText.Format.ListInfo = listinfo; listinfo.ContinuePreviousList = true; } 

有没有办法捕捉换行事件?

只需设置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");