这两个 PowerPoint Shapes 在哪些方面不同(通过 API 访问)
In which way are these two PowerPoint Shapes different (accessed via API)
作为开源辅助技术项目的一部分 (here), I am accessing a PowerPoint file by python API (python-pptx)。
当我查看颜色时,某些形状导致异常。但很难看出是哪一个。
我创建了这个最小的例子: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
)
您需要致电:
shape.fill.solid()
在尝试访问 fore_color
属性之前。
一个填充可以有多种类型,每种类型都有不同的属性集。 .fore_color
属性是实心填充特有的。默认情况下,填充是透明的(即 None)。
这里的文档中有更多关于它的信息:
http://python-pptx.readthedocs.io/en/latest/user/autoshapes.html#fill
作为开源辅助技术项目的一部分 (here), I am accessing a PowerPoint file by python API (python-pptx)。
当我查看颜色时,某些形状导致异常。但很难看出是哪一个。
我创建了这个最小的例子: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
)
您需要致电:
shape.fill.solid()
在尝试访问 fore_color
属性之前。
一个填充可以有多种类型,每种类型都有不同的属性集。 .fore_color
属性是实心填充特有的。默认情况下,填充是透明的(即 None)。
这里的文档中有更多关于它的信息: http://python-pptx.readthedocs.io/en/latest/user/autoshapes.html#fill