使用Python docx在Word中创建拼音指南/'Ruby文本'?

问题描述 投票:0回答:1

我想为 MS Word 中的单词添加拼音指南。在 MS Word 内部,原始单词称为“基本文本”,拼音指南称为“Ruby 文本”。

这是我尝试在 Word 中创建的内容:

docx 文档有一个页面讨论运行级别内容并引用 ruby:

<xsd:element name="ruby"                  type="CT_Ruby"/>
位于此处: https://python-docx.readthedocs.io/en/latest/dev/analysis/features/text/run-content.html

我不知道如何在我的代码中访问这些。

这是我的尝试之一的示例:

import docx
from docx import Document
document = Document()
base_text = '光栄'
ruby_text = 'こうえい'
p = document.add_paragraph(base_text)
p.add_run(ruby_text).ruby = True
document.save('ruby.docx')

但是此代码仅返回以下内容:

光栄こうえい

我尝试在

ruby
paragraph
上使用
p.text
,删除
= True
,但我不断收到错误消息
'X object has no attribute 'ruby'

有人可以告诉我如何做到这一点吗?

python python-docx
1个回答
3
投票

您提到的

<xsd:element name="ruby" ...
摘录来自运行的 XML 模式类型。这意味着类型为
CT_Ruby
的子元素可以出现在带有标签名称
<w:r>
的 run 元素 (
<w:ruby>
) 上。

python-docx
中尚无对此元素的任何 API 支持,因此如果您想使用它,则需要使用低级
lxml
调用来操作 XML。您可以在
run._r
上访问运行元素。如果您搜索“python-docx 解决方法函数”,也可能搜索“python-pptx 解决方法函数”,您会发现一些这样做来扩展功能的示例。

© www.soinside.com 2019 - 2024. All rights reserved.