フォントの管理 - PowerPoint Java API

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

Aspose.Slides for Androidを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オブジェクトをインスタンス化
Presentation pres = new Presentation("FontProperties.pptx");
try {
	// スライド位置を使用してスライドにアクセス
	ISlide slide = pres.getSlides().get_Item(0);

	// スライド内の最初と第二のプレースホルダーにアクセスし、AutoShapeとして型キャスト
	ITextFrame tf1 = ((IAutoShape) slide.getShapes().get_Item(0)).getTextFrame();
	ITextFrame tf2 = ((IAutoShape) slide.getShapes().get_Item(1)).getTextFrame();

	// 最初の段落にアクセス
	IParagraph para1 = tf1.getParagraphs().get_Item(0);
	IParagraph para2 = tf2.getParagraphs().get_Item(0);

	// 段落を整列
	para2.getParagraphFormat().setAlignment(TextAlignment.JustifyLow);

	// 最初のポーションにアクセス
	IPortion port1 = para1.getPortions().get_Item(0);
	IPortion port2 = para2.getPortions().get_Item(0);

	// 新しいフォントを定義
	FontData fd1 = new FontData("Elephant");
	FontData 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(Color.BLUE);
	port2.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
	port2.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.GREEN);

	// PPTXをディスクに保存
	pres.save("WelcomeFont.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null) pres.dispose();
}

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

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

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

上記の手順の実装は以下に示されています。

todo:image_alt_text
図: Aspose.Slides for AndroidをJava経由で設定されたフォントプロパティを持つテキスト
// PPTXファイルを表すPresentationオブジェクトをインスタンス化
Presentation pres = new Presentation();
try {
	// 最初のスライドを取得
	ISlide sld = pres.getSlides().get_Item(0);
	
	// RectangleタイプのAutoShapeを追加
	IAutoShape ashp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50);
	
	// AutoShapeに関連するフィルスタイルを削除
	ashp.getFillFormat().setFillType(FillType.NoFill);
	
	// AutoShapeに関連するTextFrameにアクセス
	ITextFrame tf = ashp.getTextFrame();
	tf.setText("Aspose TextBox");
	
	// TextFrameに関連するPortionにアクセス
	IPortion 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(Color.BLUE);
	
	// プレゼンテーションをディスクに保存
	pres.save("pptxFont.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null) pres.dispose();
}