Управление шрифтами в презентациях на Android

Управление свойствами шрифтов

Чтобы управлять свойствами шрифта абзаца с помощью Aspose.Slides for Android via Java:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд, используя его индекс.
  3. Получите формы Placeholder на слайде и приведите их к типу AutoShape.
  4. Получите Paragraph из TextFrame, предоставляемого AutoShape.
  5. Выравнивайте абзац по ширине.
  6. Доступ к Paragraph и его текстовой Portion.
  7. Определите шрифт с помощью FontData и установите Font для текстовой Portion.
    1. Сделайте шрифт полужирным.
    2. Сделайте шрифт курсивным.
  8. Установите цвет шрифта с помощью FillFormat, предоставляемого объектом Portion.
  9. Сохраните изменённую презентацию в файл PPTX.

Ниже приведена реализация перечисленных шагов. Она берёт исходную презентацию без оформления и форматирует шрифты на одном из слайдов. Скриншоты ниже показывают исходный файл и то, как фрагменты кода изменяют его. Код меняет шрифт, цвет и стиль шрифта.

todo:image_alt_text
Рисунок: Текст в исходном файле
todo:image_alt_text
Рисунок: Тот же текст с обновлённым форматированием
	// Создайте объект Presentation, который представляет файл PPTX
	Presentation pres = new Presentation("FontProperties.pptx");
	try {
		// Доступ к слайду по его номеру
		ISlide slide = pres.getSlides().get_Item(0);

		// Получаем первый и второй placeholder на слайде и приводим их к типу 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);

		// Доступ к первой части текста (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");

		// Применяем новые шрифты к части текста
		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. Добавьте на слайд AutoShape типа Rectangle.
  4. Удалите стиль заливки, связанный с AutoShape.
  5. Получите TextFrame формы AutoShape.
  6. Добавьте некоторый текст в TextFrame.
  7. Доступ к объекту Portion, связанному с TextFrame.
  8. Определите шрифт, который будет использоваться для Portion.
  9. Установите другие свойства шрифта, такие как полужирный, курсив, подчёркивание, цвет и высота, используя соответствующие свойства объекта Portion.
  10. Запишите изменённую презентацию в файл PPTX.

Ниже приведена реализация перечисленных шагов.

todo:image_alt_text
Рисунок: Текст с некоторыми свойствами шрифта, установленными Aspose.Slides for Android via Java
// Создать объект Presentation, представляющий файл PPTX
Presentation pres = new Presentation();
try {
	// Получить первый слайд
	ISlide sld = pres.getSlides().get_Item(0);
	
	// Добавить AutoShape типа Rectangle
	IAutoShape ashp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50);
	
	// Удалить любой стиль заливки, связанный с AutoShape
	ashp.getFillFormat().setFillType(FillType.NoFill);
	
	// Получить TextFrame, связанный с AutoShape
	ITextFrame tf = ashp.getTextFrame();
	tf.setText("Aspose TextBox");
	
	// Получить Portion, связанный с TextFrame
	IPortion port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0);
	
	// Установить шрифт для Portion
	port.getPortionFormat().setLatinFont(new FontData("Times New Roman"));
	
	// Установить свойство Bold у шрифта
	port.getPortionFormat().setFontBold(NullableBool.True);
	
	// Установить свойство Italic у шрифта
	port.getPortionFormat().setFontItalic(NullableBool.True);
	
	// Установить свойство Underline у шрифта
	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();
}