RTF到HTML,更改font-family

时间:2013-08-30 11:45:38

标签: c# html rtf

我有一些来自我的C#应用​​程序的RTF文本,我转换为HTML然后发送到我的PHP文件。 问题是;我在PHP中的所有文本都在Arial中,我的RTF的输出是Tahoma。我有什么想法可以改变字体系列吗?

到目前为止,这是我的代码:

string memoValue = inboundSet.Fields["MEMO"].Value.ToString();
if (RtfTags.IsRtfContent(memoValue))
  {     
    using (RichEditDocumentServer richServer = new RichEditDocumentServer())
      {
        string htmlText = string.Empty;
        richServer.RtfText = memoValue;
        htmlText = richServer.HtmlText;
        callDetail.Memo = htmlText;
      }
  }
else
  {
    callDetail.Memo = memoValue;
  }

在我的PHP文件中,我以这种方式得到了值:

echo "<td>Memo:</td><td>".$value->Memo."</td>";

我也是这样试过的:

echo "<td>Memo:</td><td class='fonttest'>".$value->Memo."</td>";

在我的CSS中:

.fonttest
{
    font-size:12px;
    font-family:Arial;
}

我的文字看起来像这样:

enter image description here

这就是我的RTF文字:

enter image description here

2 个答案:

答案 0 :(得分:1)

我通过这种方式解决了我的问题:

string memoValue = inboundSet.Fields["MEMO"].Value.ToString();
if (RtfTags.IsRtfContent(memoValue))
{     
  using (RichEditDocumentServer richServer = new RichEditDocumentServer())
  {
    string htmlText = string.Empty;
    richServer.RtfText = memoValue;
    CharacterProperties cp = richServer.Document.BeginUpdateCharacters(richServer.Document.Range);
    cp.FontName = "Arial";
    cp.FontSize = 12;
    richServer.Document.EndUpdateCharacters(cp);
    htmlText = richServer.HtmlText;
    callDetail.Memo = htmlText;
   }
}

答案 1 :(得分:-1)

您必须为生成的HTML设置font-family。您可以通过将CSS样式应用于生成页面的标题来实现。

将此样式嵌入标题:

"<style>body {font-family:Arial;}</style>"