利用RichText动态加载带格式的字符串

利用RichText动态加载带格式的字符串,如:

 <p>The quick brown <span color="#ff0000">fox jumps over</span> the lazy dogg.</p>

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2009/08/11/setting-text-in-a-spark-richtext-control-in-flex-4/ -->
<s:Application name="Spark_RichText_text_test"
			   xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/halo">
	
	<fx:Script>
		<![CDATA[
			import spark.utils.TextFlowUtil;
			
			protected function button1_clickHandler(event:MouseEvent):void
			{
				// TODO Auto-generated method stub
				var d:String = '<p>The quick brown <span color="#ff0000">fox jumps over</span> the lazy dogg.</p>';
				richTxt.textFlow = TextFlowUtil.importFromString(d);
			}
			
		]]>
	</fx:Script>
	
	<fx:Declarations>
		<fx:String id="htmlTextAsMarkup"><![CDATA[<p>The quick brown <span fontWeight="bold">fox jumps over</span> the lazy dogg.</p>]]></fx:String>
	</fx:Declarations>
	
<!--	<s:RichText id="richTxt"
				textFlow="{TextFlowUtil.importFromString(htmlTextAsMarkup)}"
				horizontalCenter="0" verticalCenter="0" />-->
	<s:RichText id="richTxt"
				horizontalCenter="0" verticalCenter="0" />
	<s:Button x="34" y="32" label="按钮" click="button1_clickHandler(event)"/>
	
</s:Application>

 更多选择,请查看链接:http://blog.flexexamples.com/2009/08/11/setting-text-in-a-spark-richtext-control-in-flex-4/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Apache POI库中的XWPFRun类来设置有富文本标签的字符串。下面是一个示例代码: ```java import org.apache.poi.xwpf.usermodel.*; public class RichTextExample { public static void main(String[] args) throws Exception { XWPFDocument document = new XWPFDocument(); XWPFParagraph paragraph = document.createParagraph(); XWPFRun run = paragraph.createRun(); // 设置普通文本 run.setText("这是普通文本,"); // 设置有富文本标签的文本 String richText = "<b>加粗文本</b>,<i>斜体文本</i>,<u>下划线文本</u>"; run.getCTR().addNewRPr().addNewRStyle().setVal("RichText"); // 设置富文本样式 CTR ctr = run.getCTR(); XmlCursor cursor = ctr.newCursor(); cursor.toEndToken(); // 将光标移动到当前标记的末尾 for (String part : richText.split("<")) { if (part.contains(">")) { String[] tags = part.split(">", 2); String tagName = tags[0]; String text = tags[1]; if ("b".equals(tagName)) { // 加粗 CTR ctrBold = ctr.addNewR(); CTBooleanProperty bold = ctrBold.addNewRPr().addNewB(); bold.setVal(true); ctrBold.addNewT().setStringValue(text); } else if ("i".equals(tagName)) { // 斜体 CTR ctrItalic = ctr.addNewR(); CTBooleanProperty italic = ctrItalic.addNewRPr().addNewI(); italic.setVal(true); ctrItalic.addNewT().setStringValue(text); } else if ("u".equals(tagName)) { // 下划线 CTR ctrUnderline = ctr.addNewR(); CTUnderlineProperty underline = ctrUnderline.addNewRPr().addNewU(); underline.setVal(STUnderline.SINGLE); ctrUnderline.addNewT().setStringValue(text); } } else { // 普通文本 ctr.addNewT().setStringValue(part); } } document.write(new FileOutputStream("example.docx")); document.close(); } } ``` 在上面的示例中,我们创建了一个XWPFDocument对象,并添加了一个段落和一个运行对象。然后,我们设置了普通文本"这是普通文本,"。接下来,我们设置了有富文本标签的文本,即"<b>加粗文本</b>,<i>斜体文本</i>,<u>下划线文本</u>"。我们使用addNewRPr()方法创建了富文本样式,并使用CTR类的addNewR()方法创建了富文本部分。然后,我们根据标签类型设置相应的样式,如加粗、斜体和下划线,并将文本添加到运行对象中。 最后,我们将文档写入到文件中,然后关闭文档。 请注意,此代码仅适用于Apache POI库版本4.1.2及以上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值