フォントの管理 - PowerPoint Java API
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ファイルとして保存します。
上記の手順の実装は以下に示します。装飾のないプレゼンテーションを取り、スライドの1つ上でフォントをフォーマットします。続くスクリーンショットは、入力ファイルとコードスニペットがどのように変更するかを示しています。このコードはフォント、色、およびフォントスタイルを変更します。
図: 入力ファイルのテキスト |
図: 更新されたフォーマットの同じテキスト |
# 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();
# 最初の段落にアクセスする
$para1 = $tf1->getParagraphs()->get_Item(0);
$para2 = $tf2->getParagraphs()->get_Item(0);
# 段落を均等割り付けする
$para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
# 最初のポーションにアクセスする
$port1 = $para1->getPortions()->get_Item(0);
$port2 = $para2->getPortions()->get_Item(0);
# 新しいフォントを定義する
$fd1 = new FontData("Elephant");
$fd2 = new FontData("Castellar");
# ポーションに新しいフォントを割り当てる
$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();
}
}
テキストフォントプロパティの設定
フォント関連プロパティの管理で述べたように、Portionは、段落内の同様のフォーマットスタイルのテキストを保持するために使用されます。この記事では、Aspose.Slides for PHP via Javaを使用して、いくつかのテキストを含むテキストボックスを作成し、特定のフォントとフォントファミリーカテゴリのさまざまなプロパティを定義する方法を示します。
テキストボックスを作成し、その中のテキストのフォントプロパティを設定するには:
- Presentationクラスのインスタンスを作成します。
- インデックスを使用してスライドの参照を取得します。
- スライドに長方形タイプの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);
# 長方形タイプの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に関連するポーションにアクセス
$port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
# ポーションのフォントを設定する
$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();
}
}