(self, laparams, lines)
| 526 | return |
| 527 | |
| 528 | def get_textboxes(self, laparams, lines): |
| 529 | plane = Plane(lines) |
| 530 | boxes = {} |
| 531 | for line in lines: |
| 532 | neighbors = line.find_neighbors(plane, laparams.line_margin) |
| 533 | assert line in neighbors, line |
| 534 | members = [] |
| 535 | for obj1 in neighbors: |
| 536 | members.append(obj1) |
| 537 | if obj1 in boxes: |
| 538 | members.extend(boxes.pop(obj1)) |
| 539 | if isinstance(line, LTTextLineHorizontal): |
| 540 | box = LTTextBoxHorizontal() |
| 541 | else: |
| 542 | box = LTTextBoxVertical() |
| 543 | for obj in uniq(members): |
| 544 | box.add(obj) |
| 545 | boxes[obj] = box |
| 546 | done = set() |
| 547 | for line in lines: |
| 548 | box = boxes[line] |
| 549 | if box in done: continue |
| 550 | done.add(box) |
| 551 | yield box |
| 552 | return |
| 553 | |
| 554 | def group_textboxes(self, laparams, boxes): |
| 555 | def dist(obj1, obj2): |
no test coverage detected