Lync 2013 即时消息字体和颜色
Posted
技术标签:
【中文标题】Lync 2013 即时消息字体和颜色【英文标题】:Lync 2013 instant message fonts and colors 【发布时间】:2015-03-11 10:33:05 【问题描述】:背景 - 我正在开发一个 Lync 应用程序,该应用程序在与特定用户的对话中充当中间人。基本上,进入 UserA 的呼叫被转发给 UserB,但呼叫者没有得到 UserB 的详细信息。从她的角度来看,她直接与 UserA 交谈。基本上,该应用程序为对 UserA 的每个传入呼叫管理两个呼叫:
-
从调用者到 UserA
从 UserA(通过冒充调用者)到 UserB
每条消息都被接收并按原样转发给 UserB。
问题 有几种情况我希望系统自动回复。到目前为止没问题,但我想为这些“系统”消息设置样式。在正常的 Lync 对话中聊天时,您可以选择字体、颜色和大小,以及更改文本的方向。
现在,对于双方之间的常规通信,我只是将消息原封不动地传递 - 即,用户 A 收到来自呼叫者的消息,系统将 e.TextBody
按原样发送给用户 B(e
是 @987654323 @)。我只是打电话:
instantMessagingFlow.BeginSendInstantMessage(Encoding.UTF8.GetBytes(e.TextBody),
res =>
try
instantMessagingFlow.EndSendInstantMessage(res);
catch(Exception ex)
//handle exception
);
现在,在这种情况下,格式会完全丢失。我没有发现在InstantMessageReceivedEventArgs
...中传递的任何类型的style数据的证据...
我知道可以使用 html 为 IM 设置样式,以便发送消息如下:
instantMessagingFlow.BeginSendInstantMessage(new ContentType("text/html"),
Encoding.UTF8.GetBytes("<div style='color: blue;'>" + e.TextBody + "</div>"),
res =>
[...]
这为我提供了所选颜色的文本,但我无法选择字体或设置文本对齐方式。无论我做什么,一些字体都会显示在 Times New Roman 中(或者是 Segoe UI?无论默认是什么......)。我使用font-family: Arial;
设置字体。在某些情况下,它会被简单地忽略,但即使它起作用,设置 direction: rtl;
(大部分文本应该是从右到左)或 text-align: right;
也没有任何效果 ...
我是否输入了错误的命令?我需要使用不是text-align
的特定命令来进行文本对齐吗?
【问题讨论】:
【参考方案1】:如果您尝试在 OCS Web 或 Window 客户端上发送消息,则需要使用 X-MMS-IM-Format 以不同的方式对其进行格式化。对于 Lync 2010 客户端,您可以使用下面的代码 sn-p:
string fontColor = "color: " + String.Format("0:X21:X22:X2", agentFontColor.R, agentFontColor.G, agentFontColor.B) + "; ";
htmlMessage = "<html><body ><div style=\" font-family: " + agentFontName + "; " + agentFontBold + agentFontSize + fontColor + agentFontItalic + agentFontUnderline + " \">" + imText + "</div></body></html>";
agentFontBold 应该是 : font-weight: bold;或字体粗细:正常; - 根据要求。 agentFontSize 应该是: font-size: 11px - 根据要求。 agentFontItalic 应该是:字体样式:斜体;或字体样式:正常; - 根据要求。 agentFontUnderline 应该是 : text-decoration: underline;或 "" - 根据要求。
【讨论】:
基本上,我可以看到我发布的内容和您的答案之间的两个区别是 - 将颜色设为十六进制(其中,设为blue
给了我想要的颜色.. . 所以没有真正的需要),并将消息放在<html><body>
标签中?您没有特别提及font-family
或文本方向性/对齐方式。以上是关于Lync 2013 即时消息字体和颜色的主要内容,如果未能解决你的问题,请参考以下文章