2

我正在使用 ng2-pdf-viewer 来显示 pdf。我需要在此 pdf 上放置一个签名文件,并需要获取签名的坐标。坐标必须根据pdf页面,而不是根据Dom,即pdf的左下角应视为点的中心。

我已尝试使用材料拖放事件来获取坐标,但无法这样做。它根据dom提供坐标。我也尝试了位置和偏移,但对我不起作用。

<div #dragdiv class="movable" id="movableDiv" cdkDrag cdkDragBoundary=".pdf-control" (cdkDragEnded)="onDragEnded($event)">
        <div #inputfield [style.width.px]="signwidth" [style.height.px]="signheight">
            <span>
                 <img [src]="userSignValue">
            </span>
        </div>
        <ul>
            <li><i class="fa fa-minus-square" (click)="resizeSign('minus')"></i></li>
            <li><i class="fa fa-plus-square" (click)="resizeSign('plus')"></i></li>
            <button class="btn btn-primary" (click)="signDocument()">Sign document</button>
        </ul>
</div>
<div class="droparea">
   <pdf-viewer [src]="existingPdfSrc" [show-all]="false" [original-size]="false" [autoresize]="true" [(page)]="pageVariable" (after-load-complete)="pdfLoadComplete($event)"></pdf-viewer>
</div>

ts 代码是

const element = event.source.getRootElement();
const boundingClientRect = element.getBoundingClientRect();
const parentPosition = this.getPosition(element);
console.log('boundingClientRect', parentPosition);
console.log('x: ' + (boundingClientRect.x - parentPosition.left), 'y: ' + (boundingClientRect.y - parentPosition.top));
this.positionX = (boundingClientRect.x - parentPosition.left);
this.positionY = (boundingClientRect.y - parentPosition.top);

坐标应该从pdf的左下角开始,即左下角的页面应该被视为(0,0)

4

0 回答 0