我在我的 ASP.Net 頁面中使用 GemBox.Document 庫。我有一個包含換行符的段落,我還需要將該段落設定為粗體。我下面的代碼變數 str 包含換行符。
嘗試 1 換行符在下面的代碼中效果很好
var p3 = new Paragraph(wDoc, str);
如何將 BOLD 設定為此段落
TRY 2 Bold 在下面的代碼中效果很好
var p3 = new Paragraph(wDoc,
new Run(wDoc, str) { CharacterFormat = { Bold = true } }
);
這不允許換行
請幫忙解決
uj5u.com熱心網友回復:
可能最簡單的方法是這樣的:
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 } });
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/479847.html
下一篇:當我將電子郵件代碼上傳到主機(godaddy-windows主機)(Asp.netcore(.net5.0))時,我的電子郵件代碼不起作用
