Usar colecciones de objetos

Algunos objetos de contexto pueden ser colecciones de otros objetos, como objetos con interfaces IStringsCollection, IParagraphs, ITextBlocks, IAttributes, etc.

Todos los objetos que son colecciones de otros tienen las siguientes propiedades:

  • Count: devuelve el número de elementos de una colección.
  • Item(index): devuelve el elemento de la colección con el índice especificado.

Estas propiedades pueden utilizarse para acceder a elementos de la colección e iterar a través de elementos usando un bucle for. También es posible iterar elementos usando un bucle foreach en lenguajes de scripting que lo admitan.

Nota.

  • Un índice siempre empieza por 0 en todos los scripts.
  • En todos los lenguajes excepto C#, puede utilizar coll(index) en lugar de coll.Item(index), ya que Item es la propiedad predeterminada.
  • En C#, no se puede acceder directamente a la propiedad coll.Item(index), por lo que debe utilizarse coll[index] en su lugar.
  • En lenguajes .NET, las colecciones usan la interfaz IEnumerable en lugar de IEnumerable<T>, por lo que el tipo de variable debe especificarse explícitamente en los bucles foreach .

A continuación encontrará código de muestra para trabajar con la colección TextBlocks del objeto de contexto de un script de separación. Puede utilizarse un código similar para otras colecciones.

C#

for(int i = 0; i < page.TextBlocks.Count; i++){
   var block = page.TextBlocks[i]
}
// o
foreach (ITextBlock block in page.TextBlocks){
   // ...
}

Visual Basic .NET

For i As Integer = 0 To page.TextBlocks.Count-1
   Dim block = page.TextBlocks(i)
   ' o
   Dim block = page.TextBlocks.Item(i)
Next
' o
ForEach block As ITextBlock In page.TextBlocks
   ' ...
Next

JScript .NET

for(var i = 0; i < page.TextBlocks.Count; i++){
   var block = page.TextBlocks(i);
   // o
   var block = page.TextBlocks.Item(i);
}

JScript

for(var i = 0; i < this.TextBlocks.Count; i++){
   var block = this.TextBlocks(i);
   // o
   var block = this.TextBlocks.Item(i);
}

VBScript

Dim i, block
For i = 0 To Me.TextBlocks.Count-1
   Set block = Me.TextBlocks(i)
   ' o
   Set block = Me.TextBlocks.Item(i)
Next
' o
ForEach block In Me.TextBlocks
   ' ...
Next

29.08.2023 11:55:30

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.