我使用angular ng2 pdf viewer和angular material cdkDrag来拖动元素。在我的后端,我使用hummusJS/hummusRecipe修改pdf文件。
我寻找一种方法来知道我把元素放在pdf文件的什么地方,然后向后端的coordinate发出请求,以知道元素需要放在pdf文件的什么地方。
这是我在nodejs上的函数:
const pdfEditor = async () => {
const pdfDoc = new HummusRecipe("./pdf/demo.pdf", "./pdf/output.pdf");
pdfDoc
// edit 1st page
.editPage(1)
.text("Add some texts to an existing pdf file", 150, 500, {
color: "003240"
})
.image("./dest/signature.png", 100, 600, {
width: 100,
keepAspectRatio: true
})
.endPage()
.endPDF();
}
我的客户Angular:
<div class="container">
<div class="otherContainer">
<button (click)="getEditedPDF()" style="width: 100px;">Save image with signature</button>
<pdf-viewer *ngIf="pdfSrc" [(page)]="pageVariable" [show-all]="true" [render-text]="true" [original-size]="false" [autoresize]="true" [src]="pdfSrc"> </pdf-viewer>
<div class="signatureContainer">
<signature-pad [options]="signaturePadOptions" (onBeginEvent)="drawStart()"></signature-pad>
<div class="btn-grid">
<button (click)="submitPad()">Submit</button>
<button (click)="clearPad()">Clear Pad</button>
<button (click)="openImage()">Open Image</button>
</div>
</div>
</div>
<div class="image">
<img *ngIf="imageExpress" [src]="imageExpress | safeHtml" cdkDrag>
</div>
<pdf-viewer *ngIf="editedPDF" [(page)]="pageVariable" [show-all]="true" [render-text]="true" [original-size]="false" [autoresize]="true" [src]="editedPDF"> </pdf-viewer>
</div>
import { Component, OnInit, Input } from '@angular/core';
import { CdkDragEnd, CdkDragStart, CdkDragMove, CdkDragDrop } from '@angular/cdk/drag-drop';
@Component({
selector: 'app-pdf-drag-drop',
templateUrl: './pdf-drag-drop.component.html',
styleUrls: ['./pdf-drag-drop.component.scss']
})
export class PdfDragDropComponent implements OnInit {
dragDroppables: any[];
state = '';
position = '';
@Input() props: [{ [key: string]: object | any }];
constructor() { }
ngOnInit(): void {
this.dragDroppables = this.props;
}
public dragStarted(event: CdkDragStart) {
this.state = 'dragStarted';
}
public dragEnded(event: CdkDragEnd) {
this.state = 'dragEnded';
console.log(`State: ${this.state} ${this.position}`);
}
public dragMoved(event: CdkDragMove) {
this.position = ` Position X: ${event.pointerPosition.x} - Y: ${event.pointerPosition.y}`;
}
}
...并在模板中添加:
cdkDrag
(cdkDragStarted)="dragStarted($event)"
(cdkDragEnded)="dragEnded($event)"
(cdkDragMoved)="dragMoved($event)"
这对我有用。
我正在使用硒网络驱动程序,其中我正在尝试拖放表格的一列。但是一旦我拖放该列,我就得到一个错误“元素不再附加到DOM”。下面是我用于拖放元素的代码
我有一个jquery函数,它允许一个元素可以拖动和调整大小,并且工作得很好。我想给它添加的是设置一个元素可以拖动和调整大小的位置。更具体地说,在我的代码中,我想让我的元素可以在两行(v1和vh)的空格之间拖动。有没有办法做到这一点?感谢任何帮助。提前道谢。 null null
问题内容: 例如,如果我有一个元素: 这是跨多行的: 是否可以使用Javascript找出文本中特定字符的位置(以x,y坐标表示)?如果没有,我可以得到文本中每行的y位置吗? 请注意 :我的应用程序中的标记中有很多文本,因此在每个字符/单词周围添加太多的处理内容。 问题答案: 如果您知道字符在文本中的字符串位置,则可以将字符包装在具有ID的或类似元素中,并找到该元素的x,y坐标。要做到这一点最简单
我正在使用cdk拖动 现在,这就是我所拥有的: 馅饼的家长 Pie.html 馅饼ts
我试图使用Selenium的Action类将JQuery嵌套可排序列表中的源元素拖放到另一个元素。我使用了标准的dragAndDrop方法,并将其分解为clickAndHold、moveToElement和release,但这两种方法都不适用。我甚至尝试使用源元素内部的子元素来拖动,但结果是一样的。 当我运行脚本时,测试返回为已通过,因此我知道正在找到元素,并且选择器有效。Selenium认为拖放
本文向大家介绍拖放元素后,JavaScript中哪个事件发生?,包括了拖放元素后,JavaScript中哪个事件发生?的使用技巧和注意事项,需要的朋友参考一下 该ondrop事件触发时,拖动的元素被丢弃的目标。您可以尝试运行以下代码以了解如何在JavaScript中实现ondrop事件- 示例