[英]Get font type in python odfpy?
odfpy有經驗嗎? 我使用此python軟件包解析了文檔,並獲得了帶有他的文本和樣式名稱的段落,現在我需要檢測該段落文本中的哪種字體?
你有什么想法 ?
樣式與文本分開定義。 包含文本的節點將位於以樣式作為屬性的節點內部。 一個例子可能看起來像這樣:
<text:p text:style-name="P5">
<text:span text:style-name="T1">Do donkeys eat macadamia nuts? And if they don't, why don't they?
</text:span>
</text:p>
在此示例中,兩種樣式(P5或T1)可能會指定文本的字體。 您將需要查看文檔的樣式定義部分。
此代碼將創建一個包含文檔樣式的字典。
def get_styles(doc):
styles= {}
for ast in doc.automaticstyles.childNodes:
name= ast.getAttribute('name')
style= {}
styles[name]= style
for k in ast.attributes.keys():
style[k[1]]= ast.attributes[k]
for n in ast.childNodes:
for k in n.attributes.keys():
style[n.qname[1] + "/" + k[1]]= n.attributes[k]
return styles
然后,您可以檢查與您關心的文本相對應的相關樣式。 在每個樣式內將包含一個style:text-properties元素,該元素將具有一個style:font-name屬性,用於指定字體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.