some code cleanup

This commit is contained in:
Timo Bejan 2021-11-10 09:45:08 +02:00
parent d8399d8e32
commit 83e9f53940

View File

@ -398,8 +398,6 @@ export class AnnotationActionsService {
viewerAnnotation.setRotationControlEnabled(false); viewerAnnotation.setRotationControlEnabled(false);
annotationManager.redrawAnnotation(viewerAnnotation); annotationManager.redrawAnnotation(viewerAnnotation);
annotationManager.selectAnnotation(viewerAnnotation); annotationManager.selectAnnotation(viewerAnnotation);
// console.log(viewerAnnotation);
} }
private async _extractTextAndPositions(viewer: WebViewerInstance, annotationId: string) { private async _extractTextAndPositions(viewer: WebViewerInstance, annotationId: string) {
@ -407,19 +405,10 @@ export class AnnotationActionsService {
const document = await viewer.Core.documentViewer.getDocument().getPDFDoc(); const document = await viewer.Core.documentViewer.getDocument().getPDFDoc();
const page = await document.getPage(viewerAnnotation.getPageNumber()); const page = await document.getPage(viewerAnnotation.getPageNumber());
let quads = (<Core.Annotations.TextHighlightAnnotation>viewerAnnotation).Quads; if (viewerAnnotation instanceof Core.Annotations.TextHighlightAnnotation) {
if (!quads) {
quads = [this._annotationDrawService.annotationToQuads(viewerAnnotation, viewer)];
const rect = toPosition(viewerAnnotation.getPageNumber(), await page.getPageHeight(), quads[0]);
return {
positions: [rect],
text: null,
};
}
const words = []; const words = [];
const rectangles: IRectangle[] = []; const rectangles: IRectangle[] = [];
for (const quad of quads) { for (const quad of viewerAnnotation.Quads) {
const rect = toPosition(viewerAnnotation.getPageNumber(), await page.getPageHeight(), quad); const rect = toPosition(viewerAnnotation.getPageNumber(), await page.getPageHeight(), quad);
rectangles.push(rect); rectangles.push(rect);
const pdfNetRect = new viewer.Core.PDFNet.Rect( const pdfNetRect = new viewer.Core.PDFNet.Rect(
@ -436,6 +425,17 @@ export class AnnotationActionsService {
text: words.join(' '), text: words.join(' '),
positions: rectangles, positions: rectangles,
}; };
} else {
const rect = toPosition(
viewerAnnotation.getPageNumber(),
await page.getPageHeight(),
this._annotationDrawService.annotationToQuads(viewerAnnotation, viewer),
);
return {
positions: [rect],
text: null,
};
}
} }
private async _extractTextFromRect(viewer: WebViewerInstance, page: Core.PDFNet.Page, rect: Core.PDFNet.Rect) { private async _extractTextFromRect(viewer: WebViewerInstance, page: Core.PDFNet.Page, rect: Core.PDFNet.Rect) {