C++ を使用したプレゼンテーションのテキスト部分の管理
Contents
[
Hide
]
テキスト部分の座標を取得
GetCoordinates() メソッドが IPortion と Portion クラスに追加され、部分の開始位置の座標を取得できるようになりました:
auto presentation = System::MakeObject<Presentation>(u"Shapes.pptx");
auto shape = System::ExplicitCast<IAutoShape>(presentation->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
auto textFrame = shape->get_TextFrame();
for (const auto& paragraph : textFrame->get_Paragraphs())
{
for (const auto& portion : paragraph->get_Portions())
{
PointF point = portion->GetCoordinates();
Console::WriteLine(String(u"Coordinates X =") + point.get_X() + u" Coordinates Y =" + point.get_Y());
}
}
よくある質問
単一の段落内のテキストの一部だけにハイパーリンクを適用できますか?
はい、個々の Portion に対してハイパーリンクを割り当て できます。そのフラグメントだけがクリック可能となり、段落全体はクリックできません。
スタイル継承はどのように機能しますか: Portion が上書きするものは何で、Paragraph/TextFrame から取得されるものは何ですか?
Portion レベルのプロパティが最も優先されます。プロパティがPortionに設定されていない場合、エンジンはParagraphから取得します。そちらにも設定がなければ、TextFrameまたはthemeのスタイルから取得します。
Portion に指定されたフォントが対象のマシン/サーバーに存在しない場合はどうなりますか?
フォント置換ルールが適用されます。テキストの再フローが起こる可能性があり、メトリック、ハイフネーション、幅が変わるため、正確な位置決めに影響します。
段落全体とは別に、Portion 固有のテキスト塗りつぶしの透明度やグラデーションを設定できますか?
はい、Portionレベルでテキストの色、塗りつぶし、透明度を隣接するフラグメントと異なる設定にできます。