2017-08-08 1 views
0

ピクチャプレースホルダに画像を挿入したいとします。以前は、必要に応じてEXIF情報を回転させました。これは私のコードです:私はLibreOfficeの中pptx生成されたファイルを開くとPython pptx pictureプレースホルダローテーションは、PowerPointで(LibreOfficeではなく)画像が消えるようにします。

placeholder = slide.placeholder[N] 
photo.open() 
ph_picture = placeholder.insert_picture(photo) 
if exif['Orientation'] == LANDSCAPE_ORIENTATION: 
    ph_picture.rotation = 90.0 

、画像が素晴らしいです。しかし、パワーポイントでそれらは消える。イメージを回転させる行を削除すると、イメージが再び表示されます。

何が起こっているのか、画像を回転させる良い方法はありますか? (私もPILで試しましたが、結果はさらに悪いです)。

答えて

0

一般的に、このような状況では、PowerPointを(手で)使いたい方法で見えるスライドを作成し、作成したXMLを調べて、その機能へのアプローチを確認します。

残念なことに、PowerPointやOpenOfficeは仕様に完全に準拠しておらず、使用されていないフィーチャでは予期せぬ動作、特にフリンジ周辺での動作を示していません。したがって、この状況ではpython-pptxが予想されるXMLを生成していることがわかりますが、何らかの理由でPowerPointがその仕様をそのまま解釈するわけではありません。

しかし、イメージを消さずにイメージを回転するようにPowerPointを設定することができれば、それと同じことをXMLに実行すると、後になって結果が得られる可能性が非常に高いです。それで私は始めるつもりです。

画像のプレースホルダであることが少し疑わしいですが、最初は通常の画像の形で試してみて、同じ問題があるかどうかを確認します。それはいずれかの方法でそれを絞り込む責任があります。

+0

異なる種類のレイアウトを使用してPowerpointテンプレートを設計する方が簡単です。それらの1つに画像のプレースホルダーが付いていますので、どのような図形を挿入する必要はありません。多分、問題は私がPlaceholderPictureを回転させることができないということです。しかし、ドキュメントが私に言うので、それは私には変です。あなたのソリューションは、新しいスライドを作成し、図形を図形として追加し、それを回転しようとしていますか? – danieltellez

+0

@danieltellez私はあなたが問題を診断したいのか、それとも何かを見つけるためにさまざまなことを試してみようと、選択をしなければならないと思います。どちらも正当なアプローチです。私はこの仕事をどうするか正確にはわからないので、私はそのアプローチについてアドバイスしています。 PowerPointで実際の例を得て、形状XMLをpython-pptxで生成したものと比較すると、正確な診断につながる可能性が非常に高いです。次に、XMLをどのようにして見た目に見えるようにするかを検討します。 – scanny

+0

@danieltellez通常の絵の形で試してみるという提案では、最終的な実装を行うことを示唆しているわけではありません。ちょっとした実験をして、見た動作に違いがあるかどうかを確認するだけです。私はそれがあなたがさらに探検するように有用なデータポイントであると思う傾向があります。 – scanny

関連する問題