CharInfoCollection

CharInfoCollection class

表示 CharInfo 对象集合。

public sealed class CharInfoCollection : ICollection<CharInfo>

特性

姓名描述
Count { get; }获取数量CharInfo集合中实际包含的对象元素。
IsReadOnly { get; }获取表示集合是否为只读的值
IsSynchronized { get; }获取一个值,该值指示对集合的访问是否同步(线程安全)。
Item { get; }获取指定索引处的 CharInfo 元素。
SyncRoot { get; }获取可用于同步访问集合的对象。

方法

姓名描述
Add(CharInfo)集合是只读的,抛出未实现异常.
Clear()集合是只读的。总是抛出 NotImplementedException.
Contains(CharInfo)确定集合是否包含特定值。
CopyTo(CharInfo[], int)将整个集合复制到一个兼容的一维数组中,从目标数组的指定索引开始
GetEnumerator()返回整个集合的枚举数。
Remove(CharInfo)集合是只读的,抛出未实现异常.

评论

提供对文本段字符的定位信息的访问。

例子

该示例演示了如何遍历所有字符并检索 charact

//打开文档
Document pdfDocument = new Document(inFile);
//创建TextFragmentAbsorber对象,收集页面的所有文本对象
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber();
//接受所有页面的吸收器
pdfDocument.Pages[1].Accept(textFragmentAbsorber);
//获取提取的文本片段
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
            
//循环遍历片段
foreach (TextFragment textFragment in textFragmentCollection)
{
    //循环遍历段
    foreach (TextSegment textSegment in textFragment.Segments)
    {
        //循环遍历字符
        for (int i = 1; i <= textSegment.Text.Length; i++)
        {
            CharInfo charInfo = textSegment.Characters[i];

            // 打印字符位置和矩形信息
            Console.WriteLine("XIndent : {0} ", charInfo.Position.XIndent);
            Console.WriteLine("YIndent : {0} ", charInfo.Position.YIndent);
            Console.WriteLine("Width : {0} ", charInfo.Rectangle.Width);
            Console.WriteLine("Height : {0} ", charInfo.Rectangle.Height);
        }
    }
}

也可以看看