簡體   English   中英

獲取python odfpy中的字體類型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM