PHP を使用したプレゼンテーションのフォント管理
Contents
[
Hide
]
フォント関連プロパティの管理
プレゼンテーションには通常、テキストと画像の両方が含まれます。テキストは、特定のセクションや単語を強調したり、企業スタイルに合わせたりするために、さまざまな方法で書式設定できます。テキストの書式設定は、ユーザーがプレゼンテーション コンテンツの外観や感覚を変えるのに役立ちます。本稿では、Aspose.Slides for PHP via Java を使用して、スライド上のテキスト段落のフォントプロパティを構成する方法を示します。
Aspose.Slides for PHP via Java を使用して段落のフォントプロパティを管理するには、以下の手順を実行します。
- Presentation クラスのインスタンスを作成します。
- インデックスを使用してスライドの参照を取得します。
- スライド内の Placeholder シェイプにアクセスし、それらを AutoShape に型キャストします。
- AutoShape が提供する TextFrame から Paragraph を取得します。
- 段落を両端揃えにします。
- Paragraph のテキスト Portion にアクセスします。
- FontData を使用してフォントを定義し、テキスト Portion の Font を設定します。
- フォントを太字に設定します。
- フォントを斜体に設定します。
- Portion オブジェクトが提供する FillFormat を使用してフォント色を設定します。
- 変更されたプレゼンテーションを PPTX ファイルとして保存します。
上記の手順の実装例を以下に示します。装飾のないプレゼンテーションを取得し、スライドのフォントをフォーマットします。以下のスクリーンショットは入力ファイルとコードスニペットがどのようにそれを変更するかを示しています。コードはフォント、色、フォントスタイルを変更します。
![]() |
|---|
| 図: 入力ファイルのテキスト |
![]() |
|---|
| 図: 同じテキストの更新された書式 |
# PPTX ファイルを表す Presentation オブジェクトをインスタンス化
$pres = new Presentation("FontProperties.pptx");
try {
# スライド位置を使用してスライドにアクセス
$slide = $pres->getSlides()->get_Item(0);
# スライド内の最初と2番目のプレースホルダーにアクセスし、AutoShape に型キャスト
$tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
$tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
# 最初の Paragraph にアクセス
$para1 = $tf1->getParagraphs()->get_Item(0);
$para2 = $tf2->getParagraphs()->get_Item(0);
# 段落を両端揃えに設定
$para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
# 最初の portion にアクセス
$port1 = $para1->getPortions()->get_Item(0);
$port2 = $para2->getPortions()->get_Item(0);
# 新しいフォントを定義
$fd1 = new FontData("Elephant");
$fd2 = new FontData("Castellar");
# 新しいフォントを portion に割り当て
$port1->getPortionFormat()->setLatinFont($fd1);
$port2->getPortionFormat()->setLatinFont($fd2);
# フォントを太字に設定
$port1->getPortionFormat()->setFontBold(NullableBool::True);
$port2->getPortionFormat()->setFontBold(NullableBool::True);
# フォントを斜体に設定
$port1->getPortionFormat()->setFontItalic(NullableBool::True);
$port2->getPortionFormat()->setFontItalic(NullableBool::True);
# フォントの色を設定
$port1->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port1->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$port2->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port2->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
# PPTX をディスクに保存
$pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
テキストフォントプロパティの設定
Managing Font Related Properties で述べたように、Portion は段落内で同様の書式スタイルのテキストを保持するために使用されます。本稿では、Aspose.Slides for PHP via Java を使用してテキストボックスを作成し、テキストを追加し、特定のフォントとフォントファミリーカテゴリのさまざまなプロパティを定義する方法を示します。
テキストボックスを作成し、そのテキストのフォントプロパティを設定するには、以下の手順を実行します。
- Presentation クラスのインスタンスを作成します。
- インデックスを使用してスライドの参照を取得します。
- スライドにタイプ Rectangle の AutoShape を追加します。
- AutoShape に関連付けられた塗りつぶしスタイルを削除します。
- AutoShape の TextFrame にアクセスします。
- TextFrame にテキストを追加します。
- TextFrame に関連付けられた Portion オブジェクトにアクセスします。
- Portion に使用するフォントを定義します。
- Portion オブジェクトが提供する関連プロパティを使用して、太字、斜体、下線、色、サイズなどの他のフォントプロパティを設定します。
- 変更されたプレゼンテーションを PPTX ファイルとして書き出します。
上記の手順の実装例を以下に示します。
![]() |
|---|
| 図: Aspose.Slides for PHP via Java によって設定されたフォントプロパティを持つテキスト |
# PPTX ファイルを表す Presentation オブジェクトをインスタンス化
$pres = new Presentation();
try {
# 最初のスライドを取得
$sld = $pres->getSlides()->get_Item(0);
# Rectangle タイプの AutoShape を追加
$ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
# AutoShape に関連付けられた塗りつぶしスタイルを削除
$ashp->getFillFormat()->setFillType(FillType::NoFill);
# AutoShape に関連付けられた TextFrame にアクセス
$tf = $ashp->getTextFrame();
$tf->setText("Aspose TextBox");
# TextFrame に関連付けられた Portion にアクセス
$port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
# Portion のフォントを設定
$port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
# フォントの太字プロパティを設定
$port->getPortionFormat()->setFontBold(NullableBool::True);
# フォントの斜体プロパティを設定
$port->getPortionFormat()->setFontItalic(NullableBool::True);
# フォントの下線プロパティを設定
$port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
# フォントのサイズ(高さ)を設定
$port->getPortionFormat()->setFontHeight(25);
# フォントの色を設定
$port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
# プレゼンテーションをディスクに保存
$pres->save("pptxFont.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}


