python-docx 中的运行级内容是什么?

Phi*_*eak 3 python-docx

我对 python-docx 中“运行级内容”的概念有些困惑。我明白,如果我想检查一个段落是否以粗体显示,我需要检查 run.bold,但究竟是什么它?官方定义是:运行是与内联内容最密切相关的对象;在段落内的块项目边界之间流动的文本、图片和其他项目。

那么,是不是段落中的单字级内容呢?我在这里错过了什么吗?

sca*_*nny 5

理解 Word 中运行的一种简单方法是所有共享相同字符格式的字符序列。

因此,如果您有这样的句子并希望出现一个粗体字,则不能告诉句子要粗体(这会加粗太多),也不想告诉每个单独的字符要粗体(那会一次大胆太少)。

因此,您将字符分组为运行并将字符格式应用于运行(这就是正确的 :)。

例句将需要三个运行。一个用于粗体字之前,一个用于粗体字本身,一个用于粗体字之后。中间运行将设置为粗体;另外两个没有特殊格式。

关于运行还有更多的事情需要了解,比如它们从属于一个段落(所以同一个运行不能在一个段落中开始并在另一个段落中结束),但这是这个概念的主要要点。

  • 关于运行的唯一保证是其中的所有文本共享相同的字符级格式。特别是,不能保证相邻的运行包含不同的字符级格式。因此,运行可以在任意位置有效地分解段落文本,甚至每个字符运行一次。简而言之,Word 并不尝试跟踪句子;而是尝试跟踪句子。如果你看到一个run那就是一句话,纯属巧合。如果需要,您需要自己进行句子解析,也许基于“paragraph.text”。 (2认同)