2017-09-05 63 views
0

PPTベースのレポートをプログラムで生成するために 'pptx'ライブラリを使用し始めました。私は、私がベースとして使用している会社のテンプレートを持っています。それはこのようになりますこれは、単一のカラム形式で箇条書きとマスタースライドが含まれています(ただし、このような砲弾型や色などの各レベルの異なるフォーマットで申し訳ありませんが、ここでは、実際の写真を共有することはできません。):pptx pythonライブラリを使用してPPTスライドの箇条書きリストのインデントを変更する方法

Bulleted list format

私が欲しかったですMS PowerPointのルーラー(または右クリック>段落>インデント)から変更するように、さまざまなレベルの位置を変更する方法があるかどうかを知るためには?箇条書きリストの「レベル」パラメータを変更すると、すべての書式設定とともに第1レベルから第2レベルに変わります。

shape.text_frame.paragraphs[0].level = 2 

しかし、最初のレベルを数センチ右にシフトしたいと思います。私は達成するための1つの明らかな方法を知っている

Bulleted list shifted to right

必要なフォーマットを使用して新しいマスタースライドを追加して、それを使用することです:だからそれは次のようになります。しかし、インデントを複数回変更する必要がある場合、特定のケースごとに新しいマスタースライドを追加するのは難しいでしょう。したがって、プログラムで「pptx」機能を使用する方法があるかどうか検索しています。これまでのところ、私は 'pptx'でそのような機能を見つけることができませんでしたが、私はそれが間違っているかもしれないかもしれないし、おそらくいくつかの回避策があるかもしれません。もしそうなら、私は知りたいと思うだろう。

答えて

0

短い答えは「いいえ」です。 python-pptxの現在のバージョンでは、APIの箇条書き書式がサポートされていません。

これを行うには、基になるXMLを直接操作する必要があります。いくつかの例を得るために "python-pptx workaround function"を検索することができます。

「lvl1pPr」や「lvl2pPr」などの要素を含む、興味のある要素はp:sp/p:txBody/a:lstStyleと考えています。

p:txBody要素への参照は、Shape.text_frame._element

関連する問題