ISvgShapeAndTextFormattingController

ISvgShapeAndTextFormattingController interface

Управляет формой SVG и генерацией текста.

public interface ISvgShapeAndTextFormattingController : ISvgShapeFormattingController

Характеристики

ИмяОписание
AsISvgShapeFormattingController { get; }Возвращает интерфейс ISvgShapeFormattingController.

Методы

ИмяОписание
FormatText(ISvgTSpan, IPortion, ITextFrame)Эта функция вызывается перед рендерингом текстовой части в SVG, чтобы пользователь мог управлять результирующим SVG.

Примеры

Пример:

[C#]
class CustomSvgShapeFormattingController : ISvgShapeAndTextFormattingController
{
	private int m_shapeIndex, m_portionIndex, m_tspanIndex;
	public CustomSvgShapeFormattingController(int shapeStartIndex = 0)
	{
		m_shapeIndex = shapeStartIndex;
		m_portionIndex = 0;
	}
	public void FormatShape(Aspose.Slides.Export.ISvgShape svgShape, IShape shape)
	{
		svgShape.Id = string.Format("shape-{0}", m_shapeIndex++);
		m_portionIndex = m_tspanIndex = 0;
	}
	public void FormatText(Aspose.Slides.Export.ISvgTSpan svgTSpan, IPortion portion, ITextFrame textFrame)
	{
		int paragraphIndex = 0; int portionIndex = 0;
		for (int i = 0; i < textFrame.Paragraphs.Count; i++)
		{
			portionIndex = textFrame.Paragraphs[i].Portions.IndexOf(portion);
			if (portionIndex > -1) { paragraphIndex = i; break; }
		}
		if (m_portionIndex != portionIndex)
		{
			m_tspanIndex = 0;
			m_portionIndex = portionIndex;
		}
		svgTSpan.Id = string.Format("paragraph-{0}_portion-{1}_{2}", paragraphIndex, m_portionIndex, m_tspanIndex++);
	}
}

Смотрите также