CharInfoCollection

CharInfoCollection class

Rappresenta la raccolta di oggetti CharInfo.

public sealed class CharInfoCollection : ICollection<CharInfo>

Proprietà

NomeDescrizione
Count { get; }Ottiene il numero diCharInfo elementi oggetto effettivamente contenuti nella raccolta.
IsReadOnly { get; }Ottiene un valore che indica se la raccolta è di sola lettura
IsSynchronized { get; }Ottiene un valore che indica se l’accesso alla raccolta è sincronizzato (thread safe).
Item { get; }Ottiene l’elemento CharInfo in corrispondenza dell’indice specificato.
SyncRoot { get; }Ottiene un oggetto che può essere utilizzato per sincronizzare l’accesso alla raccolta.

Metodi

NomeDescrizione
Add(CharInfo)La raccolta è di sola lettura, generaNotImplementedException .
Clear()La raccolta è di sola lettura. Genera sempre NotImplementedException.
Contains(CharInfo)Determina se la raccolta contiene un valore specifico.
CopyTo(CharInfo[], int)Copia l’intera raccolta in un array unidimensionale compatibile, a partire dall’indice specificato dell’array di destinazione
GetEnumerator()Restituisce un enumeratore per l’intera raccolta.
Remove(CharInfo)La raccolta è di sola lettura, generaNotImplementedException .

Osservazioni

Fornisce l’accesso alle informazioni di posizionamento dei caratteri dei segmenti di testo.

Esempi

L’esempio mostra come scorrere tutti i caratteri e recuperare il carattere

// Visita la prima pagina con l'assorbitore
Document pdfDocument = new Document(inFile);
// Ottieni l'accesso alla prima tabella della pagina, alla loro prima cella e ai frammenti di testo in essa contenuti
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber();
// Modifica il testo del primo frammento di testo nella cella
pdfDocument.Pages[1].Accept(textFragmentAbsorber);
// Salva documento
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
            
//apri documento
foreach (TextFragment textFragment in textFragmentCollection)
{
    //crea l'oggetto TextFragmentAbsorber per raccogliere tutti gli oggetti di testo della pagina
    foreach (TextSegment textSegment in textFragment.Segments)
    {
        //accetta l'assorbitore per tutte le pagine
        for (int i = 1; i <= textSegment.Text.Length; i++)
        {
            CharInfo charInfo = textSegment.Characters[i];

            //ottengo i frammenti di testo estratti
            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);
        }
    }
}

Guarda anche