フォントの管理 - PowerPoint Java API

フォント関連プロパティの管理

Aspose.Slides for PHP via Javaを使用して段落のフォントプロパティを管理するには:

  1. Presentation クラスのインスタンスを作成します。
  2. インデックスを使用してスライドの参照を取得します。
  3. スライド内のPlaceholderシェイプにアクセスし、AutoShapeに型キャストします。
  4. AutoShapeが公開するTextFrameからParagraphを取得します。
  5. 段落を均等割り付けします。
  6. ParagraphのテキストPortionにアクセスします。
  7. FontDataを使用してフォントを定義し、テキストPortionFontを適宜設定します。
    1. フォントを太字に設定します。
    2. フォントをイタリック体に設定します。
  8. Portionオブジェクトが公開するFillFormatを使用してフォントの色を設定します。
  9. 修正されたプレゼンテーションをPPTXファイルとして保存します。

上記の手順の実装は以下に示します。装飾のないプレゼンテーションを取り、スライドの1つ上でフォントをフォーマットします。続くスクリーンショットは、入力ファイルとコードスニペットがどのように変更するかを示しています。このコードはフォント、色、およびフォントスタイルを変更します。

todo:image_alt_text
図: 入力ファイルのテキスト
todo:image_alt_text
図: 更新されたフォーマットの同じテキスト
  # 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();
    }
  }

テキストフォントプロパティの設定

テキストボックスを作成し、その中のテキストのフォントプロパティを設定するには:

  1. Presentationクラスのインスタンスを作成します。
  2. インデックスを使用してスライドの参照を取得します。
  3. スライドに長方形タイプのAutoShapeを追加します。
  4. AutoShapeに関連する塗りつぶしスタイルを削除します。
  5. AutoShapeTextFrameにアクセスします。
  6. TextFrameにいくつかのテキストを追加します。
  7. TextFrameに関連付けられたPortionオブジェクトにアクセスします。
  8. Portionに使用されるフォントを定義します。
  9. Portionオブジェクトによって公開された関連プロパティを使用して、太字、イタリック体、下線、色、高さなどの他のフォントプロパティを設定します。
  10. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。

上記の手順の実装は以下に示します。

todo:image_alt_text
図: 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();
    }
  }