ISvgShapeAndTextFormattingController

ISvgShapeAndTextFormattingController interface

控制 SVG 形状和文本生成。

public interface ISvgShapeAndTextFormattingController : ISvgShapeFormattingController  

Properties

NameDescription
AsISvgShapeFormattingController { get; }返回 ISvgShapeFormattingController 接口。

Methods

NameDescription
FormatText(ISvgTSpan, IPortion, ITextFrame)此函数在将文本部分渲染到 SVG 之前被调用,以允许用户控制生成的 SVG。

Examples

示例:

[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++);  
	}  
}  

See Also