syntax = "proto3";

message AllDocumentTextData {

  repeated DocumentTextData documentTextData = 1;
}

message DocumentTextData {
  // Identifier of the text block.
  int64 id = 1;

  // The page the text block occurs on.
  int64 page = 2;

  // The text of the text block.
  string searchText = 3;

  // Each text block is assigned a number on a page, starting from 0.
  int32 numberOnPage = 4;

  // The text blocks are ordered, this number represents the start of the text block as a string offset.
  int32 start = 5;

  // The text blocks are ordered, this number represents the end of the text block as a string offset.
  int32 end = 6;

  // The line breaks in the text of this semantic node in string offsets. They are exclusive end. At the end of each semantic node there is an implicit linebreak.
  repeated int32 lineBreaks = 7;
}
