PHP を使用したプレゼンテーションのテキスト部分の管理
Contents
[
Hide
]
テキスト部分の座標を取得する
getCoordinates() メソッドがPortion クラスに追加され、部分の開始位置の座標を取得できるようになりました。
# PPTX を表す Presentation クラスのインスタンス化
$pres = new Presentation();
try {
# プレゼンテーションのコンテキストを再構築する
$shape = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$textFrame = $shape->getTextFrame();
foreach($textFrame->getParagraphs() as $paragraph) {
foreach($paragraph->getPortions() as $portion) {
$point = $portion->getCoordinates();
echo("X: " . $point->$x . " Y: " . $point->$y);
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
よくある質問
単一の段落内のテキストの一部だけにハイパーリンクを適用できますか?
はい、個々の部分にハイパーリンクを割り当てことができます。そのフラグメントだけがクリック可能となり、段落全体はクリックできません。
スタイル継承はどのように機能しますか:Portion が上書きするものと、Paragraph/TextFrame から取得されるものは何ですか?
Portion レベルのプロパティが最も優先されます。プロパティがPortionで設定されていない場合、エンジンはParagraphから取得します。そちらでも設定されていない場合は、TextFrameまたはthemeのスタイルから取得します。
Portion に指定されたフォントが対象のマシン/サーバーに存在しない場合はどうなりますか?
フォント置換ルールが適用されます。テキストは再配置される可能性があり、メトリック、ハイフネーション、幅が変わるため、正確な位置決めに影響します。
段落全体とは独立して、Portion 固有のテキスト塗りつぶしの透明度やグラデーションを設定できますか?
はい、Portionレベルでテキストの色、塗りつぶし、透明度を隣接するフラグメントと異なる設定にできます。