Java を使用したプレゼンテーションでのフォント管理

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

段落のフォントプロパティを管理するには、Aspose.Slides for 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 ファイルとして保存します。

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

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. AutoShapeTextFrame にアクセスします。
  6. TextFrame にテキストを追加します。
  7. TextFrame に関連付けられた Portion オブジェクトにアクセスします。
  8. Portion に使用するフォントを定義します。
  9. Portion オブジェクトが提供する関連プロパティを使用して、太字、斜体、下線、色、高さなどの他のフォントプロパティを設定します。
  10. 変更されたプレゼンテーションを PPTX ファイルとして書き出します。

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

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