【问题标题】:Is it possible to get text with line breaks via Word api?是否可以通过 Word api 获取带有换行符的文本?
【发布时间】:2017-01-26 08:29:51
【问题描述】:

似乎 context.document.body.text (或paragraph.text 或whatever.text)总是具有没有换行符的文本值。获取带有换行符的文本的唯一可能方法是解析 ooxml 或 html。 Ooxml 解析是行不通的,因为对于 office online,ooxml 是在服务器端计算的,通常需要 3 秒才能完成。 Html 检索也很慢,一页文件最多需要 500 毫秒的事件。奇怪的是,您可以插入包含换行符 (/n) 的文本,但无法取回该文本。

所以问题是:是否可以通过 Word api 获取带有换行符的文本?

【问题讨论】:

    标签: office-js


    【解决方案1】:

    包含一个换行符。如果您仔细查看检索到的文本,会在文本中返回一个“\r”,这是一个新行或段落标记。

    还包括换行符(如果用户按 Shift+Enter,则会插入换行符)。

    这是获取 context.document.body.text 属性后返回的示例文字字符串。该文件有很多段落,我用粗体表示 \r 补充说:

    “视频提供了一种强大的方式来帮助您证明自己的观点。当您单击在线视频时,您可以粘贴您要添加的视频的嵌入代码。您也可以键入关键字在线搜索最适合您的文档的视频。\r为了使您的文档看起来专业制作,Word 提供了相互补充的页眉、页脚、封面和文本框设计。例如,您可以添加匹配封面页、页眉和侧边栏。单击“插入”,然后从不同的画廊中选择所需的元素。\r主题和样式也有助于保持文档的协调。当您单击“设计”并选择一个新的主题、图片、图表和 SmartArt 图形会发生变化以匹配您的新主题。当您应用样式时,您的标题会发生变化以匹配新主题。\r在 Word 中使用显示的新按钮节省时间您需要它们的地方。要更改图片在文档中的适合方式,请单击它和一个用于布局的按钮 o选项出现在它旁边。在处理表格时,单击要添加行或列的位置,然后单击加号。\r在新的阅读视图中阅读也更容易。您可以折叠文档的某些部分并专注于您想要的文本。如果您需要在读完之前停止阅读,Word 会记住您离开的位置 - 即使在另一台设备上也是如此。\r"

    【讨论】:

    • 这很奇怪。我可以将 '\r' 视为分节符,但在 Shift+Enter 后我看不到 '\n',它们不在字符串中。
    • 好吧,快速澄清一下,\n 和 \r 具有完全相同的效果,它们都是段落标记。现在换行符 (Shift+Enter) 也包含在文本中。他们表现为一个看不见的角色。使用 range.text.charCodeAt(positionOfTheInvisdibleCharacter) 获取代码,它应该返回代码 11。
    • 我仍然没有获得 \n 的运气。这是截图screenshot.net/537z7un。 '\r' 符号在结果文本中(第 3 行和第 4 行有间隙),但文本中缺少 \n。
    • 我正在使用 beta 通道 (appsforoffice.microsoft.com/lib/beta/hosted/office.js),如果它改变了一些东西。
    • 好的,我可以复制了。我们缺少的是 Word Online 和 Mac 中的换行符。在 Windows 的 word 中,它可以工作。这是一个错误,我将与团队一起修复它。谢谢!好收获!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    相关资源
    最近更新 更多