私は、図形の中に配置された "Picture Content Control"を持つ.docxテンプレートを持っています。ユーザーが選択したイメージのサイズが異なるため、ユーザーが選択したイメージをその特定の領域に挿入しました。「ピクチャコンテンツコントロール」とコンテナ(図形)の高さと幅のスケールをプログラムで調整するソリューションを探しています。私は私の.docxのテンプレートに画像を挿入するには、このソリューションを使用してい :これらの事については http://www.codeproject.com/KB/office/Word_2007_Images.aspxWord文書のイメージサイズをプログラムで変更する
1
A
答えて
0
、私は多くの場合、マクロの記録から来ることができる最も有用な答えを見つけること、そして、あなたがプログラムが何をしたいのかやってマクロによって生成されたコードを見直し、必要に応じて調整します。マクロは、Wordオブジェクトを使用して、何をしたいのかを示す方法を示します。
0
これはあまりにも私のトラブルの多くを引き起こしたが、私は解決策を見つけた:
//Get SdtElement (can be a block, run... so I use the base class) with corresponding Tag
SdtElement block = doc.MainDocumentPart.Document.Body.Descendants<SdtElement>()
.FirstOrDefault(sdt => sdt.SdtProperties.GetFirstChild<Tag>()?.Val == contentControlTag)
//Get First drawing Element and get the original sizes of placeholder SDT
//I use SDT placeholder size as maximum size to calculate picture size with correct ratios
Drawing sdtImage = block.Descendants<Drawing>().First();
double sdtWidth = sdtImage.Inline.Extent.Cx;
double sdtHeight = sdtImage.Inline.Extent.Cy;
double sdtRatio = sdtWidth/sdtHeight;
*Calculate final width/height of image*
//Resize picture placeholder
sdtImage.Inline.Extent.Cx = finalWidth;
sdtImage.Inline.Extent.Cy = finalHeight;
//Change width/height of picture shapeproperties Transform
//This will override above height/width until you manually drag image for example
sdtImage.Inline.Graphic.GraphicData
.GetFirstChild<DocumentFormat.OpenXml.Drawing.Pictures.Picture>()
.ShapeProperties.Transform2D.Extents.Cx = finalWidth;
sdtImage.Inline.Graphic.GraphicData
.GetFirstChild<DocumentFormat.OpenXml.Drawing.Pictures.Picture>()
.ShapeProperties.Transform2D.Extents.Cy = finalHeight;
すべてこの後、私は、コンテンツコントロールを削除し、ちょうど私の中の実行としてsdtContentからコードを挿入することを選択します段落しかし、これはもちろんオプションです:)
関連する問題
- 1. プログラムでWord文書のプロパティを変更する
- 2. Word文書のプロパティを変更する
- 3. WPF:RTBでWord文書の行間隔を変更する
- 4. Word文書のスタイルをOffice.jsで変更できますか?
- 5. ExcelでWord文書の行間隔を変更します
- 6. CSSイメージサイズを変更
- 7. Word文書のテキストフォントの色を変更します。
- 8. Word文書にプログラムでInkPictureを追加する
- 9. Word 2007文書からマクロ(VBA)コードをプログラムで抽出する
- 10. プログラムでWord文書を簡単に編集する
- 11. イメージサイズ変更php prestashop
- 12. C#Word文書の改訂を変更しますか?
- 13. .NETライブラリMS Word文書をXPS文書に変換する
- 14. 起動イメージサイズの変更
- 15. Word文書のキーワードの自動更新
- 16. Word文書をループする
- 17. 0で割るPHPイメージサイズ変更スクリプト
- 18. プログラムでイメージサイズを検出する-iPhone
- 19. WordオートメーションなしでDelphiでMS Word文書を読み取り/解析/変更する
- 20. イメージサイズ変更C#、VB.NETオープンソースライブラリ
- 21. イメージサイズ変更サービス[Rails 5]
- 22. C#Aws-Lambdaイメージサイズ変更
- 23. SDWebImageボタン背景イメージサイズ変更
- 24. オープンWord文書
- 25. Word文書を別の文書にコピー
- 26. Word文書でプログラムで複数のテーブルを生成する方法
- 27. Word文書のすべてのフィールドを更新するには?
- 28. フォーマットの変更を追跡せずにWord文書を比較する
- 29. Word文書のハイパーリンク
- 30. プログラムで開いているExcel/Word文書のパスを取得する
Thnksランス、しかし私は "OPENXML"ソリューションを探しています – Damon