Androidでプレゼンテーションのフォントを管理

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

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

  1. Presentation クラスのインスタンスを作成します。
  2. インデックスを使用してスライドの参照を取得します。
  3. スライド内の Placeholder シェイプにアクセスし、AutoShape に型キャストします。
  4. [AutoShape] が公開する TextFrame から Paragraph を取得します。
  5. 段落を両端揃えにします。
  6. [Paragraph] のテキスト Portion にアクセスします。
  7. FontData を使用してフォントを定義し、テキスト [Portion] の Font をそれに応じて設定します。
    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);

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

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

	// 段落を両端揃えにする
	para2.getParagraphFormat().setAlignment(TextAlignment.JustifyLow);

	// 最初の Portion にアクセスする
	IPortion port1 = para1.getPortions().get_Item(0);
	IPortion port2 = para2.getPortions().get_Item(0);

	// 新しいフォントを定義する
	FontData fd1 = new FontData("Elephant");
	FontData 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(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. スライドにタイプ RectangleAutoShape を追加します。
  4. [AutoShape] に関連付けられた塗りつぶしスタイルを削除します。
  5. [AutoShape] の TextFrame にアクセスします。
  6. [TextFrame] にテキストを追加します。
  7. [TextFrame] に関連付けられた Portion オブジェクトにアクセスします。
  8. [Portion] に使用するフォントを定義します。
  9. [Portion] オブジェクトが提供する関連プロパティを使用して、太字、イタリック、下線、色、サイズなどの他のフォントプロパティを設定します。
  10. 変更したプレゼンテーションを書き出して PPTX ファイルとして保存します。

上記の手順の実装例は以下です。

todo:image_alt_text
図: Aspose.Slides for Android via 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();
}