Python via Java を使用してプレゼンテーションのフォントを管理する
Contents
[
Hide
]
概要
Aspose.Slides を使用すると、コードから直接プレゼンテーションのテキストのフォントプロパティを管理できます。スライド内のテキストはシェイプ、テキストフレーム、段落、ポーションを介してアクセスでき、選択したテキストに書式設定を適用できます。
この記事では、プレゼンテーション内の既存テキストに対してフォントファミリ、太字・斜体スタイル、段落配置、フォントカラーなどのフォント関連プロパティを構成する方法を説明します。また、テキストボックスを作成し、テキストを追加し、フォントファミリ、太字、斜体、下線、フォントサイズ、カラーなどのフォントプロパティを設定して結果を PPTX ファイルとして保存する方法も示します。
フォント関連プロパティの管理
注
プレゼンテーションには通常、テキストと画像の両方が含まれます。テキストは特定のセクションや単語を強調したり、企業スタイルに合わせたりするためにさまざまな方法で書式設定できます。テキストの書式設定は、プレゼンテーション コンテンツの外観を多様化するのに役立ちます。本記事では、Aspose.Slides for Python via Java を使用してスライド上の段落テキストのフォントプロパティを構成する方法を示します。Aspose.Slides for Python via Java を使用して段落のフォントプロパティを管理する手順:
- Presentation クラスのインスタンスを作成します。
- インデックスを使用してスライドの参照を取得します。
- スライド内の Placeholder シェイプにアクセスし、AutoShape として取得します。
- [AutoShape] が提供する TextFrame から Paragraph を取得します。
- 段落を左右揃えにします。
- [Paragraph] のテキスト Portion にアクセスします。
- FontData を使用してフォントを定義し、テキスト Portion の Font を設定します。
- フォントを太字に設定します。
- フォントを斜体に設定します。
- [Portion] オブジェクトが提供する FillFormat を使用してフォントの色を設定します。
- 変更したプレゼンテーションを PPTX ファイルとして保存します。
上記手順の実装例は以下のとおりです。装飾されていないプレゼンテーションを取得し、スライドのフォントをフォーマットします。以下のスクリーンショットは入力ファイルとコード スニペットがそれをどのように変更するかを示しています。コードはフォント、色、フォントスタイルを変更します。
![]() |
|---|
| 図: 入力ファイルのテキスト |
![]() |
|---|
| 図: 更新された書式の同じテキスト |
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import FillType, FontData, NullableBool, Presentation, SaveFormat, TextAlignment
from java.awt import Color
# プレゼンテーションをロードする。
presentation = Presentation("FontProperties.pptx")
try:
# 最初のスライドと、最初の2つのプレースホルダーのテキストフレームにアクセスする。
slide = presentation.getSlides().get_Item(0)
title_text_frame = slide.getShapes().get_Item(0).getTextFrame()
body_text_frame = slide.getShapes().get_Item(1).getTextFrame()
# 各テキストフレームの最初の段落にアクセスする。
title_paragraph = title_text_frame.getParagraphs().get_Item(0)
body_paragraph = body_text_frame.getParagraphs().get_Item(0)
body_paragraph.getParagraphFormat().setAlignment(TextAlignment.JustifyLow)
# 各段落の最初のポーションにアクセスする。
title_portion = title_paragraph.getPortions().get_Item(0)
body_portion = body_paragraph.getPortions().get_Item(0)
# 新しいフォントを定義して割り当てる。
title_font = FontData("Elephant")
body_font = FontData("Castellar")
title_portion.getPortionFormat().setLatinFont(title_font)
body_portion.getPortionFormat().setLatinFont(body_font)
# フォントを太字と斜体に設定する。
title_portion.getPortionFormat().setFontBold(NullableBool.True_)
body_portion.getPortionFormat().setFontBold(NullableBool.True_)
title_portion.getPortionFormat().setFontItalic(NullableBool.True_)
body_portion.getPortionFormat().setFontItalic(NullableBool.True_)
# フォントの色を設定する。
title_portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
title_portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
body_portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
body_portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.GREEN)
# プレゼンテーションを保存する。
presentation.save("WelcomeFont.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
テキストフォントプロパティの設定
注
フォント関連プロパティの管理 で述べたように、Portion は段落内で同様の書式スタイルのテキストを保持するために使用されます。本記事では、Aspose.Slides for Python via Java を使用してテキスト ボックスを作成し、テキストを追加し、特定のフォントとその他のフォントプロパティを定義する方法を示します。テキスト ボックスを作成し、その中のテキストにフォントプロパティを設定する手順:
- Presentation クラスのインスタンスを作成します。
- インデックスを使用してスライドの参照を取得します。
- スライドにタイプ Rectangle の AutoShape を追加します。
- [AutoShape] に関連付けられた塗りつぶしスタイルを削除します。
- [AutoShape] の TextFrame にアクセスします。
- [TextFrame] にテキストを追加します。
- [TextFrame] に関連付けられた Portion オブジェクトにアクセスします。
- [Portion] に使用するフォントを定義します。
- [Portion] オブジェクトが提供する関連プロパティを使用して、太字、斜体、下線、色、高さなどの他のフォントプロパティを設定します。
- 変更したプレゼンテーションを PPTX ファイルとして書き出します。
上記手順の実装例は以下のとおりです。
![]() |
|---|
| 図: Aspose.Slides for Python via Java によって設定されたフォントプロパティを持つテキスト |
import jpile
import asposeslides
if not jpile.isJVMStarted():
jpile.startJVM()
from asposeslides.api import FillType, FontData, NullableBool, Presentation, SaveFormat, ShapeType, TextUnderlineType
from java.awt import Color
presentation = Presentation()
try:
# 最初のスライドを取得し、長方形を追加する。
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50)
# シェイプの塗りつぶしを削除する。
shape.getFillFormat().setFillType(FillType.NoFill)
# シェイプのテキストフレームにテキストを追加する。
text_frame = shape.getTextFrame()
text_frame.setText("Aspose TextBox")
portion = text_frame.getParagraphs().get_Item(0).getPortions().get_Item(0)
# フォントファミリを設定する。
font = FontData("Times New Roman")
portion.getPortionFormat().setLatinFont(font)
# 太字、斜体、下線、およびフォントサイズを設定する。
portion.getPortionFormat().setFontBold(NullableBool.True_)
portion.getPortionFormat().setFontItalic(NullableBool.True_)
portion.getPortionFormat().setFontUnderline(TextUnderlineType.Single)
portion.getPortionFormat().setFontHeight(25)
# フォントの色を設定する。
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
# プレゼンテーションを保存する。
presentation.save("pptxFont.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()


