我正在从文档中使用
var doc = context.document;
var originalRange = doc.body;
originalRange.load("text");
return context.sync()
.then(function () {
// have some fun with the text
}
然后我将文本作为UTF-8发送到服务器。但是运行中的换行符(
<w:p w:rsidR="00A739D5" w:rsidRDefault="00A739D5" w:rsidP="00A739D5">
<w:pPr>
<w:rPr>
<w:rFonts w:asciiTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cs="Calibri"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:asciiTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cs="Calibri"/>
</w:rPr>
<w:br/>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:asciiTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cs="Calibri"/>
</w:rPr>
<w:br/>
<w:t xml:space="preserve">Under "Default Web Site" you </w:t>
</w:r>
</w:p>
当我查看正在发送的内容时,我看到了...
“□□在“默认网站”下”
当我查看返回的内容时,我看到了...
“在“默认网站”下,您”
搜索文本时,毫不奇怪,我得到0条结果。
searchResults = context.document.body.search(myText, { matchCase: true, ignorePunct: true, ignoreSpace:true});
这是由于rFonts属性w:asciiTheme =“ minorHAnsi”和w:hAnsiTheme =“ minorHAnsi”吗?
如果是,我该怎么做才能正确解析这些字符?我需要先确定文档中使用的样式,然后再转换范围内的文本,然后再发送到服务器吗?
答案 0 :(得分:1)
Word的“新行”字符是ANSI11。很有可能,服务器上的接收者不知道如何处理此字符,正在尽最大可能对其进行解释,然后将字符串与单词Word一起返回给Word,从而无法正确解释。
最好是在发送字符串时用某些元素替换此元素,并在字符串返回ANSI 11时替换它。