是否可以使用iTextSharp在句子中加粗单个单词?我正在处理来自xml的大段文本,我试图加粗几个单词,而不必将字符串分成单个短语.
例如:
document.Add(new Paragraph("this is <b>bold</b> text"));
Run Code Online (Sandbox Code Playgroud)
应该输出......
这是粗体文字
正如@kuujinbo指出的那样,XMLWorker对象是大多数新的HTML解析工作正在进行的对象.但是,如果您只是使用粗体或斜体等简单命令,则可以使用本机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;
}
Run Code Online (Sandbox Code Playgroud)
而不是这个:
document.Add(new Paragraph("this is <b>bold</b> text"));
Run Code Online (Sandbox Code Playgroud)
你可以用这个:
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"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10625 次 |
| 最近记录: |