作爲開源輔助技術項目(here)的一部分,我通過python API(python-pptx)訪問PowerPoint文件。這兩種PowerPoint形狀的方式不同(通過API訪問)
當我看着顏色時,某些形狀會引起異常。但很難看出哪一個。
我創造了這個小例子:https://www.dropbox.com/s/o5z22lqwb66jemq/forUpload.pptx?dl=0
而事實上,這裏是截圖:
它由一個單一的幻燈片,與左邊工作的形狀和形狀那在右邊失敗。使用格式畫家將使形狀起作用(或不依賴於格式的來源),但我已經通過各種方式檢查我能想到的格式,並且這兩組形狀看起來完全相同。
最小示例中的兩組形狀如何不同? 。
(對於那些誰可能是從一個API點興趣引起該問題的行是:
self.colours[co][ro] = shape.fill.fore_colour.rgb
這是https://github.com/joereddington/TheOpenVoiceFactory/blob/master/grab_text.py
和例外是:
Traceback (most recent call last): File "grab_text.py", line 374, in <module>
grids = extract_grid(prs) File "grab_text.py", line 353, in extract_grid
grids.append(Grid(prs, slide, gridSize)) File "grab_text.py", line 119, in __init__
self.process_shape(shape) File "grab_text.py", line 164, in process_shape
ro] = shape.fill.fore_color.rgb File "/Library/Python/2.7/site-packages/pptx/dml/fill.py", line 43, in fore_color
return self._fill.fore_color File "/Library/Python/2.7/site-packages/pptx/dml/fill.py", line 161, in fore_color
raise TypeError(tmpl) TypeError: a transparent (background) fill has no foreground color
)
有在例如四張幻燈片。哪一個對應於你左邊的工作描述,對不對? – scanny
另外,當你得到異常時,你到底在做什麼以及什麼是完整的堆棧跟蹤? – scanny
@scanny,道歉,錯誤的鏈接。我還添加了一些與代碼相關的東西。 – Joe