在 Android 上管理簡報字型

概述

Aspose.Slides 允許您直接在程式碼中管理投影片文字的字型屬性。您可以透過形狀、文字框、段落與文字區段來存取投影片中的文字,然後對選取的文字套用格式設定。

本文說明如何為簡報中現有的文字設定與字型相關的屬性,包括字型族、粗體與斜體樣式、段落對齊方式以及字型顏色。亦示範如何建立文字方塊、向其中加入文字,並在將結果儲存為 PPTX 檔案之前,設定字型族、粗體、斜體、底線、字型大小與顏色等屬性。

管理字型相關屬性

使用 Aspose.Slides for Android 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 檔案。

以下提供上述步驟的實作範例。它會取得一個未經裝飾的簡報,並對其中一張投影片的字型進行格式化。下列螢幕截圖顯示輸入檔案以及程式碼片段如何變更它。程式碼會變更字型、顏色與字型樣式。

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. 向投影片加入類型為 RectangleAutoShape
  4. 移除與該 AutoShape 相關聯的填充樣式。
  5. 取得該 AutoShapeTextFrame
  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();
}