Utilisation de collections d'objets

Certains objets de contexte peuvent être de collections d'autres objets, tels que des objets avec des interfaces IStringsCollection, IParagraphs, ITextBlocks, IAttributes, etc.

Tous les objets qui sont des collections d'autres objets présentent les propriétés suivantes :

  • Nombre : retourne le nombre d'éléments dans une collection.
  • Élément(index) : retourne l'élément de collection avec l'index spécifié.

Ces propriétés peuvent être utilisées pour accéder aux éléments de la collection et procéder à l'itération sur tous les éléments à l’aide de la boucle for . Les éléments peuvent également être itérés à l'aide d'une boucle foreach dans les langages de script qui la prennent en charge.

Note.

  • Dans tous les scripts, les index commencent toujours par 0.
  • Dans tous les languages, à l'exception de C#, vous pouvez utiliser coll(index) à la place de coll.Item(index), car Item est la propriété par défaut.
  • Dans C#, il n'est pas possible d'accéder directement à la propriété coll.Item(index) et la propriété coll[index] doit être utilisée à la place.
  • Dans les langages .NET, les collections utilisent l'interface IEnumerable et non IEnumerable<T>, c'est pourquoi, le type de la variable doit être explicitement spécifié dans les boucles foreach .

Ci-dessous, vous trouverez un exemple de code permettant de travailler avec la collection TextBlocks de l'objet de contexte d'un script Séparation. Un code similaire peut être utilisé pour d'autres collections.

C#

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

Visual Basic .NET

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

JScript .NET

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

JScript

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

VBScript

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

3/26/2024 1:49:50 PM

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.