将粗体设置为 GemBox 文档中的段落 ASP.Net c#
Set Bold to a Paragraph in GemBox Document ASP.Net c#
我在 ASP.Net 页面中使用 GemBox.Document 库。我有一个包含换行符的段落,我还需要将该段落设置为粗体。
我在下面的代码中变量 str 包含换行符。
尝试 1
换行符在下面的代码中运行良好
var p3 = new Paragraph(wDoc, str);
如何为这一段设置粗体
尝试 2
大胆地在下面的代码中工作得很好
var p3 = new Paragraph(wDoc,
new Run(wDoc, str) { CharacterFormat = { Bold = true } }
);
这不允许换行
请帮忙解决
最简单的方法可能是这样的:
var paragraph = new Paragraph(wDoc);
paragraph.Content.LoadText(str, new CharacterFormat() { Bold = true });
或者这样:
var paragraph = new Paragraph(wDoc);
paragraph.CharacterFormatForParagraphMark.Bold = true;
paragraph.Content.LoadText(str);
但以防万一您感兴趣,这里要注意的是换行符是用 SpecialCharacter
个对象表示的,而不是用 Run
个对象表示的。
因此,以下是您需要自己处理这些中断的“手动”方式,您需要将正确的元素添加到 Paragraph.Inlines
集合中:
string str = "Sample 1\nSample 2\nSample 3";
string[] strLines = str.Split('\n');
var paragraph = new Paragraph(wDoc);
for (int i = 0; i < strLines.Length; i++)
{
paragraph.Inlines.Add(
new Run(wDoc, strLines[i]) { CharacterFormat = { Bold = true } });
if (i != strLines.Length - 1)
paragraph.Inlines.Add(
new SpecialCharacter(wDoc, SpecialCharacterType.LineBreak));
}
这与您使用此 Paragraph
构造函数相同:
var paragraph = new Paragraph(wDoc,
new Run(wDoc, "Sample 1") { CharacterFormat = { Bold = true } },
new SpecialCharacter(wDoc, SpecialCharacterType.LineBreak),
new Run(wDoc, "Sample 2") { CharacterFormat = { Bold = true } },
new SpecialCharacter(wDoc, SpecialCharacterType.LineBreak),
new Run(wDoc, "Sample 3") { CharacterFormat = { Bold = true } });
我在 ASP.Net 页面中使用 GemBox.Document 库。我有一个包含换行符的段落,我还需要将该段落设置为粗体。 我在下面的代码中变量 str 包含换行符。
尝试 1
换行符在下面的代码中运行良好
var p3 = new Paragraph(wDoc, str);
如何为这一段设置粗体
尝试 2 大胆地在下面的代码中工作得很好
var p3 = new Paragraph(wDoc,
new Run(wDoc, str) { CharacterFormat = { Bold = true } }
);
这不允许换行
请帮忙解决
最简单的方法可能是这样的:
var paragraph = new Paragraph(wDoc);
paragraph.Content.LoadText(str, new CharacterFormat() { Bold = true });
或者这样:
var paragraph = new Paragraph(wDoc);
paragraph.CharacterFormatForParagraphMark.Bold = true;
paragraph.Content.LoadText(str);
但以防万一您感兴趣,这里要注意的是换行符是用 SpecialCharacter
个对象表示的,而不是用 Run
个对象表示的。
因此,以下是您需要自己处理这些中断的“手动”方式,您需要将正确的元素添加到 Paragraph.Inlines
集合中:
string str = "Sample 1\nSample 2\nSample 3";
string[] strLines = str.Split('\n');
var paragraph = new Paragraph(wDoc);
for (int i = 0; i < strLines.Length; i++)
{
paragraph.Inlines.Add(
new Run(wDoc, strLines[i]) { CharacterFormat = { Bold = true } });
if (i != strLines.Length - 1)
paragraph.Inlines.Add(
new SpecialCharacter(wDoc, SpecialCharacterType.LineBreak));
}
这与您使用此 Paragraph
构造函数相同:
var paragraph = new Paragraph(wDoc,
new Run(wDoc, "Sample 1") { CharacterFormat = { Bold = true } },
new SpecialCharacter(wDoc, SpecialCharacterType.LineBreak),
new Run(wDoc, "Sample 2") { CharacterFormat = { Bold = true } },
new SpecialCharacter(wDoc, SpecialCharacterType.LineBreak),
new Run(wDoc, "Sample 3") { CharacterFormat = { Bold = true } });