問題タブ [presentationml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Office 2013 でメッセージを修復するが、他のバージョンでは正常に開く
Office 2007 または 2010 では正常に開く OpenXML SDK 2.0 を使用してプレゼンテーションを生成しましたが、Office 2013 では修復メッセージが表示されます。OpenXML SDK 生産性ツールの検証機能はあまり役に立ちませんでした。何が問題なのか誰か教えてください。プレゼンテーションは次の場所からダウンロードできます。
c#-4.0 - OpenXML - PresentationML - newMasterPart.SlideMaster.Preserve = false、機能していません
参照されていないスライド マスターを消去するために、スライド マスターの保持属性を使用しようとしています。
私の目的は、プレゼンテーション内のすべてのスライド (スライドが 1 つだけ) をベース プレゼンテーション (スライドが 1 つだけ) に複製し、複製されたスライドのレイアウトをベース プレゼンテーションのレイアウトに変更することです。
私が取ったアプローチは、
(ベース プレゼンテーションは B、クローン プレゼンテーションは C で示されます)
Cのスライドのスライド部分をBにコピーします。
C のマスターを B にコピーします。
新しくコピーしたマスターで SlideMaster.Preserve 属性を false に設定します。
B で新しく追加されたスライド パーツの既存のレイアウト パーツを削除します (C から複製されたスライド)。
新しく追加したスライド パーツに、必要なレイアウト パーツを B から追加します。
LayoutId をトラバースし、一意の値が含まれるように並べ替えます。
しかし、結果のファイルを開くと、C からコピーされた MasterSlide への参照はありませんが、まだ存在しています。
注: 同じコード スニペットでレイアウト スライドを変更しますが、実際には別の実行パスで実行されるため、C の MasterSlides に対処しないという選択肢はありません。
ベースプレゼンテーション (B)
ベースのマスタースライド
クローンプレゼンテーション (C)
クローン プレゼンテーションのマスター スライド
結果出力
出力のマスタースライド
2 番目のマスター スライドへの参照はありませんが、preserve 属性を false に設定した後でも優先されます。
コード サンプルは Post2.zip からダウンロードできます。
Post2 のファイル:
BaseSlide.pptx (ベースプレゼンテーション)
ToBeCloned.pptx (クローン プレゼンテーション)
Out2.pptx (結果のプレゼンテーション)
どんな助けでも大歓迎です。ありがとう。
c# - OpenXML SDK を使用して C# で PowerPoint ファイルを生成する。検証しますが、エラーで開きます
私は最近、PowerPoint プレゼンテーションを自動的に生成することを期待して、OpenXML SDK を掘り下げ始めました。プロセス全体が苦痛であることに気づき、週末の大部分と最後の 2 日間を生の SDK 呼び出しを処理するライブラリの生成に費やしました。生成プロセス中はすべて問題なく動作しているようで、Open XML SDK Productivity Tool でコードが正しいことを検証できます。ただし、PowerPoint でファイルを開くと、ファイルを開く前にファイルを修正するように求めるダイアログ ボックスが表示されます。
このコードはすべて、PowerPoint で作成したファイルから反映したものからリファクタリングされています。/ppt/slideLayouts/slideLayouts/
生産性向上ツールでこれらのパッケージとの違いを実行すると、スライド レイアウト (最初のものを除く) が であるのに対し、正しいプレゼンテーションでは であることがわかりました/ppt/slideLayouts/
。生成コードをトリプルチェックしたところ、SlideLayout がPresentationPart
ではなく に追加されましたSlideLayoutPart
。最初のレイアウトは正しい場所にあり、その後のレイアウトはそうでないため、特に奇妙です。
MSDN のドキュメントと、Wouter van Vugt による Open XML の電子書籍を読みました。自分のコードを反映されたコードと比較したところ、正しいように見えました (ただし、Open XML に慣れていないことと、PresentationML の複雑さを考慮すると、多くのことを見逃している可能性があります)。ここで何が起こっているのかについての洞察を持っている人はいますか?
powerpoint - OpenXML - プレゼンテーションのスライドのスライド レイアウトを設定する
プレゼンテーションの作成に使用したコードは次のとおりです。
私がここで試みているのは、スライドを作成してそれに図形を挿入し、スライドを作成済みのプレゼンテーションに添付することです。それはうまくいきます。
私の質問は、挿入されたスライドのレイアウトをどのように設定するかです。ここでのスライド レイアウトの意味は
このレイアウトをスライドに設定したいと思います。
私はここでslidelayoutの作業を見ていました
c# - SlideMaster と SlideLayout をプレゼンテーションに追加する
6 つのスライド、3 つのマスター スライド (MS-A、MS-B、および MS-C)、および 2 つのスライド レイアウト (SL-1 および SL-2) を含むプレゼンテーションを作成しようとしています。6 つのスライドは、2 行 3 列のスライドと考えてください。
スライド レイアウト 1 を参照する SlideMaster を使用して、すべてのスライドの最初の「行」を作成したいと考えています。たとえば、スライド 1 (S1A) は、SL-1 を参照するマスター MS-A を使用して作成されます。スライド 2 (S1B) は SL-1 を参照する MS-B を使用し、スライド (S1C) は SL-1 を参照する MS-C を使用します。
これまでのところ、これは実際の問題ではありません。ただし、スライド レイアウト SC-2 を参照するマスター スライド MS-A から MS-C を使用して、スライドの 2 番目の「行」(S2A、S2B、および S2C) を作成できるかどうかを知りたいです。スライドの最初の行のコンテンツ
これが可能であれば、これを行う方法のリンク/例/疑似コードを提供してもらえますか?
OpenXML 2.5、C#、Framework 4.5 を使用しています。
c# - OpenXML/PresentationML/C#でPowerPoint(PPTX)に改行を挿入する方法
Word と PowerPoint はどちらも OpenXML を使用していますが、改行の処理は異なります。Word/WordprocessingML では、run.Append(new Break())
(ここを参照) 改行を挿入できます。残念ながら、PresentationML では、これにより無効なプレゼンテーションが発生し、PowerPoint に読み込むときにエラーが発生します。
TextBody
PowerPointの に改行を追加する方法はShape
?
c# - openxml を介してシェイプ内のテキストのフォント サイズを取得するにはどうすればよいですか?
openXML を使用してパワーポイント プレゼンテーションのテキストの形状のサイズを確認しようとしていますが、RunProperty であるため、取得方法がわかりません。
誰かがそれを取得する方法を知っていますか?フォントとフォントの色を取得する方法は既に知っていますが、これと同じようにできますか?