2017-06-07 11 views
0

コードを読み取る:パイソン - PPTX - テキストは、テーブルとテキストフレームからデータをインポートする

pres = Presentation(ppt_file) 

    for slide in pres.slides: 
     for shape in slide.shapes: 
      if(shape.has_text_frame): 
       for paragraph in shape.text_frame.paragraphs: 
        for run in paragraph.runs: 
         print run.text  

私はこのようなスライドました:

enter image description here

出力は次のとおりです。 テキストを実行します

テキストは左フレームまたは大きなボックスから読み込まれますが、2つの右フレームから読み込まれるわけではありません。

+0

これは2つの質問である必要があります。 2つの右フレームがグループの形状でないことを確認してください。 – scanny

+0

また、AとBは実際のテキストであり、画像の一部ではないことを確認してください。 – scanny

+0

@scanny:はいAとBはテキストです。イメージはテキストの上に置かれます。私は冗長になりたくないので、2つの質問を合併した。 – skrubber

答えて

1

形状タイプとしてNoneを報告している図形は、グループ図形です。あなたはそれらのXMLをプリントアウトすることによって、これを確認することができます。

print(shape._element) # should give something like 'CT_GroupShape' 
print(shape._element.xml) # should show XML that starts with `<p:grpSp>` 

グループの形状はまだpython-pptxでサポートされていません。 PowerPointでグループを解除することができれば、そのテキストにアクセスできます。

+0

ご清聴ありがとうございます。悲しいことに、私はOPENXML SDKに戻って.NETのテキストを取り出す必要があります。 – skrubber

関連する問題