gpt4 book ai didi

c# - MigraDoc 项目符号列表(漏洞)

转载 作者:太空狗 更新时间:2023-10-29 20:53:12 26 4
gpt4 key购买 nike

在我的解决方案中,我使用 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

自动取款机代码:

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;

}

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

最佳答案

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

关于c# - MigraDoc 项目符号列表(漏洞),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9633135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com