eine separate createTextBox-Methode wurde als Teil des Signaturprozesses geschrieben, um die Stadt und das Datum zu schreiben
This commit is contained in:
parent
2f4ffac9c4
commit
9e019c0b69
@ -1,16 +1,87 @@
|
|||||||
class Annotation {
|
class Annotation {
|
||||||
static createAnnotations(document) {
|
static createAnnotations(document) {
|
||||||
const annotations = []
|
const signatures = []
|
||||||
|
|
||||||
document.elements.forEach((element) => {
|
document.elements.forEach((element) => {
|
||||||
const [annotation, formField] = Annotation.createAnnotationFromElement(element)
|
const [annotation, formField] = Annotation.createSignature(element)
|
||||||
annotations.push(annotation)
|
signatures.push(annotation)
|
||||||
annotations.push(formField)
|
signatures.push(formField)
|
||||||
})
|
})
|
||||||
|
|
||||||
return annotations
|
document.elements.forEach((element) => {
|
||||||
|
const [annotation, formField] = Annotation.createSignature(element)
|
||||||
|
signatures.push(annotation)
|
||||||
|
signatures.push(formField)
|
||||||
|
})
|
||||||
|
|
||||||
|
return {
|
||||||
|
signatures: signatures
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static createSignature(element) {
|
||||||
|
const id = PSPDFKit.generateInstantId()
|
||||||
|
const width = Annotation.inchToPoint(element.width)
|
||||||
|
const height = Annotation.inchToPoint(element.height)
|
||||||
|
const top = Annotation.inchToPoint(element.top) - height / 2
|
||||||
|
const left = Annotation.inchToPoint(element.left) - width / 2
|
||||||
|
const page = element.page - 1
|
||||||
|
const annotation = new PSPDFKit.Annotations.WidgetAnnotation({
|
||||||
|
id: id,
|
||||||
|
pageIndex: page,
|
||||||
|
formFieldName: id,
|
||||||
|
backgroundColor: PSPDFKit.Color.YELLOW,
|
||||||
|
blendMode: 'multiply',
|
||||||
|
boundingBox: new PSPDFKit.Geometry.Rect({
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
top,
|
||||||
|
left,
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
const formField = new PSPDFKit.FormFields.SignatureFormField({
|
||||||
|
name: id,
|
||||||
|
annotationIds: PSPDFKit.Immutable.List([annotation.id]),
|
||||||
|
})
|
||||||
|
|
||||||
|
return [annotation, formField]
|
||||||
|
}
|
||||||
|
|
||||||
|
static createTextBox(element) {
|
||||||
|
const id = PSPDFKit.generateInstantId()
|
||||||
|
const width = Annotation.inchToPoint(element.width)
|
||||||
|
const height = Annotation.inchToPoint(element.height)
|
||||||
|
const top = Annotation.inchToPoint(element.top) - height / 2
|
||||||
|
const left = Annotation.inchToPoint(element.left) - width / 2
|
||||||
|
const page = element.page - 1
|
||||||
|
|
||||||
|
//shift
|
||||||
|
top += height + 10
|
||||||
|
|
||||||
|
const annotation = new PSPDFKit.Annotations.WidgetAnnotation({
|
||||||
|
id: id,
|
||||||
|
pageIndex: page,
|
||||||
|
formFieldName: id,
|
||||||
|
backgroundColor: PSPDFKit.Color.YELLOW,
|
||||||
|
blendMode: 'multiply',
|
||||||
|
boundingBox: new PSPDFKit.Geometry.Rect({
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
top,
|
||||||
|
left,
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
const formField = new PSPDFKit.FormFields.SignatureFormField({
|
||||||
|
name: id,
|
||||||
|
annotationIds: PSPDFKit.Immutable.List([annotation.id]),
|
||||||
|
})
|
||||||
|
|
||||||
|
return [annotation, formField]
|
||||||
|
}
|
||||||
|
|
||||||
|
static createText
|
||||||
|
|
||||||
static async getAnnotations(instance) {
|
static async getAnnotations(instance) {
|
||||||
const array = await Promise.all(
|
const array = await Promise.all(
|
||||||
Array.from({ length: instance.totalPageCount }).map((_, pageIndex) =>
|
Array.from({ length: instance.totalPageCount }).map((_, pageIndex) =>
|
||||||
@ -44,35 +115,6 @@
|
|||||||
return !!annotation.isSignature || annotation.description == 'FRAME'
|
return !!annotation.isSignature || annotation.description == 'FRAME'
|
||||||
}
|
}
|
||||||
|
|
||||||
static createAnnotationFromElement(element) {
|
|
||||||
const id = PSPDFKit.generateInstantId()
|
|
||||||
const width = Annotation.inchToPoint(element.width)
|
|
||||||
const height = Annotation.inchToPoint(element.height)
|
|
||||||
const top = Annotation.inchToPoint(element.top) - height / 2
|
|
||||||
const left = Annotation.inchToPoint(element.left) - width / 2
|
|
||||||
const page = element.page - 1
|
|
||||||
const annotation = new PSPDFKit.Annotations.WidgetAnnotation({
|
|
||||||
id: id,
|
|
||||||
pageIndex: page,
|
|
||||||
formFieldName: id,
|
|
||||||
backgroundColor: PSPDFKit.Color.YELLOW,
|
|
||||||
blendMode: 'multiply',
|
|
||||||
boundingBox: new PSPDFKit.Geometry.Rect({
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
top,
|
|
||||||
left,
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
||||||
const formField = new PSPDFKit.FormFields.SignatureFormField({
|
|
||||||
name: id,
|
|
||||||
annotationIds: PSPDFKit.Immutable.List([annotation.id]),
|
|
||||||
})
|
|
||||||
|
|
||||||
return [annotation, formField]
|
|
||||||
}
|
|
||||||
|
|
||||||
static createImageAnnotation(boundingBox, pageIndex, imageAttachmentId) {
|
static createImageAnnotation(boundingBox, pageIndex, imageAttachmentId) {
|
||||||
const frameAnnotation = new PSPDFKit.Annotations.ImageAnnotation({
|
const frameAnnotation = new PSPDFKit.Annotations.ImageAnnotation({
|
||||||
pageIndex: pageIndex,
|
pageIndex: pageIndex,
|
||||||
|
|||||||
@ -71,7 +71,7 @@ class App {
|
|||||||
try {
|
try {
|
||||||
this.signatureCount = this.currentDocument.elements.length
|
this.signatureCount = this.currentDocument.elements.length
|
||||||
const annotations = Annotation.createAnnotations(this.currentDocument)
|
const annotations = Annotation.createAnnotations(this.currentDocument)
|
||||||
await this.Instance.create(annotations)
|
await this.Instance.create(annotations.signatures)
|
||||||
|
|
||||||
const openResponse = await this.Network.openDocument(this.envelopeKey)
|
const openResponse = await this.Network.openDocument(this.envelopeKey)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user