in web-app-demo/Frontend/src/app/components/processor-selection/processor-selection.component.ts [241:292]
drawBoxes(context: CanvasRenderingContext2D, canvas: HTMLCanvasElement) {
const data = this.documentProto;
const drawClient = new DocumentAnnotation();
switch (this.processor) {
case "FORM":
for (let i = 0; i < data.document.pages[0].formFields.length; i++) {
drawClient.drawBoundingBoxes(
context,
canvas,
data.document.pages[0].formFields[i].fieldName.boundingPoly,
BLUE,
"stroke",
[]
);
drawClient.drawBoundingBoxes(
context,
canvas,
data.document.pages[0].formFields[i].fieldValue.boundingPoly,
RED,
"stroke",
[]
);
}
break;
case "OCR":
for (let i = 0; i < data.document.pages[0].blocks.length; i++) {
drawClient.drawBoundingBoxes(
context,
canvas,
data.document.pages[0].blocks[i].layout.boundingPoly,
ORANGE,
"stroke",
[]
);
}
break;
case "INVOICE":
for (let i = 0; i < data.document.entities.length; i++) {
drawClient.drawBoundingBoxes(
context,
canvas,
data.document.entities[i].pageAnchor.pageRefs[0].boundingPoly,
BLUE,
"stroke",
[]
);
}
break;
}
}