2017-12-19 7 views
0

私はスライドにプレースホルダーを追加しようとしていますが、これはpython pptxを使っています。しかし、プレースホルダは常にスライドの左上にあり、サイズ0になります。レイアウトに定義されていないプレースホルダとは関係がありますか?プレースホルダの位置とサイズを指定することは可能ですか?私はスライドにプレースホルダをpython pptxを使って追加しようとしています。しかし、プレースホルダーは常にスライドの左上に終わります。

プレースホルダを追加しようとしたとき、私は、以下の行を使用:

chart_pp = pptx.shapes.placeholder.PP_PLACEHOLDER.CHART 
slide.shapes.placeholders.element.add_placeholder(id_ = 2, name = "chart",  
ph_type=chart_pp, orient = "horz", sz= "full", idx = 9) 
+0

プレースホルダオブジェクトの 'top'、' left'、 'width'および' height'プロパティを使用して、希望の位置とサイズを与えることはできませんか? – 0liveradam8

答えて

0

あなたはマニュアルを参照しましたか?あなたのコードは有効な意図された使用に近いものではありません。

いずれの場合でも、実際のプレースホルダーオブジェクトは、スライドレイアウト上にのみ存在することができます。あなたがしようとしているのは、有効なPowerPointのものではありません。

各レイアウトプレースホルダオブジェクトを参照するシェイプが、そのレイアウトから作成されるときにスライドに追加されます。プレースホルダをスライドに追加する方法はありません。スライドレイアウトに存在するシェイプから「継承」するシェイプに対してのみ、プレースホルダを追加する方法はありません。

任意のAPIオブジェクト(たとえば、プレースホルダーなど)の.element属性は、基本となるXML要素への参照です。あなたがそれにアクセスすると、すべてのベットはオフになり、あなたが何をしているのか分からなければ、ドキュメント内のすべての種類の破損を引き起こす可能性があります。これは、XMLスキーマを学び、それを操作してpython-pptxにない機能を実装しようとする人たちのためのものです。

関連する問題