gpt4 book ai didi

itextsharp - 在 iTextSharp 中使用富文本值加粗

转载 作者:行者123 更新时间:2023-12-04 22:24:07 33 4
gpt4 key购买 nike

是否可以使用 iTextSharp 将句子中的单个单词加粗?我正在处理来自 xml 的大段文本,并且我试图将几个单独的单词加粗,而不必将字符串分成单独的短语。

例如:

document.Add(new Paragraph("this is <b>bold</b> text"));

应该输出...

这是 粗体 文本

最佳答案

正如@kuujinbo 指出的,XMLWorker 对象是大多数新 HTML 解析工作完成的地方。但是,如果您只有粗体或斜体等简单命令,则可以使用 native iTextSharp.text.html.simpleparser.HTMLWorker 类。您可以将其包装成一个辅助方法,例如:

private Paragraph CreateSimpleHtmlParagraph(String text) {
//Our return object
Paragraph p = new Paragraph();

//ParseToList requires a StreamReader instead of just text
using (StringReader sr = new StringReader(text)) {
//Parse and get a collection of elements
List<IElement> elements = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(sr, null);
foreach (IElement e in elements) {
//Add those elements to the paragraph
p.Add(e);
}
}
//Return the paragraph
return p;
}

然后而不是这个:
document.Add(new Paragraph("this is <b>bold</b> text"));

你可以用这个:
document.Add(CreateSimpleHtmlParagraph("this is <b>bold</b> text"));
document.Add(CreateSimpleHtmlParagraph("this is <i>italic</i> text"));
document.Add(CreateSimpleHtmlParagraph("this is <b><i>bold and italic</i></b> text"));

关于itextsharp - 在 iTextSharp 中使用富文本值加粗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315791/

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