5

OpenXmlSDK をいじって、Powerpoint のニーズに適したソリューションかどうかを確認しています。必要なことの 1 つは、PowerPoint で図形を配置する機能です。私はシェイプの位置を取得する方法を探していましたが、MSDN の「ハウツー」http://msdn.microsoft.com/en-us/library/cc850828.aspxとPosition クラス (ただし、Shape から取得する方法はありません) http://msdn.microsoft.com/en-us/library/office/documentformat.openxml.wordprocessing.position%28v=office.14%29.aspx .

次のようなことをするにはどうすればよいですか:

PresentationDocument presentationDocument =  PresentationDocument.Open("C:\\MyDoc.pptx", true);
IdPartPair pp = presentationDocument.PresentationPart.SlideParts.First().Parts.FirstOrDefault();
var shape = pp.OpenXmlPart;
// How do I get the position and dimensions?
4

3 に答える 3

1

問題のスライドの XML を調べて、off (オフセット) および ext (エクステント) サブ要素を含む xfrm 要素を探します。測定値は EMU です (Wouter van Vugt のドキュメントの最後のページを参照してください)。

于 2012-12-03T21:07:51.250 に答える
0

ShapePropertiesがShapeプロパティとして表示されない場合があるため、次のように記述する必要があります。

var sP = ((DocumentFormat.OpenXml.Presentation.Shape)shape).ShapeProperties;

Deunzが書いたように、Transform2Dを使用して座標を見つけることができます。

于 2020-08-03T21:07:39.033 に答える