@pdfme/pdf-lib
Version:
Create and modify PDF files with JavaScript
45 lines (37 loc) • 1.55 kB
text/typescript
import PDFDocument from '../PDFDocument';
import PDFField from './PDFField';
import { PDFRef, PDFAcroSignature } from '../../core';
import { assertIs } from '../../utils';
/**
* Represents a signature field of a [[PDFForm]].
*
* [[PDFSignature]] fields are digital signatures. `pdf-lib` does not
* currently provide any specialized APIs for creating digital signatures or
* reading the contents of existing digital signatures.
*/
export default class PDFSignature extends PDFField {
/**
* > **NOTE:** You probably don't want to call this method directly. Instead,
* > consider using the [[PDFForm.getSignature]] method, which will create an
* > instance of [[PDFSignature]] for you.
*
* Create an instance of [[PDFSignature]] from an existing acroSignature and
* ref
*
* @param acroSignature The underlying `PDFAcroSignature` for this signature.
* @param ref The unique reference for this signature.
* @param doc The document to which this signature will belong.
*/
static of = (acroSignature: PDFAcroSignature, ref: PDFRef, doc: PDFDocument) =>
new PDFSignature(acroSignature, ref, doc);
/** The low-level PDFAcroSignature wrapped by this signature. */
readonly acroField: PDFAcroSignature;
private constructor(acroSignature: PDFAcroSignature, ref: PDFRef, doc: PDFDocument) {
super(acroSignature, ref, doc);
assertIs(acroSignature, 'acroSignature', [[PDFAcroSignature, 'PDFAcroSignature']]);
this.acroField = acroSignature;
}
needsAppearancesUpdate() {
return false;
}
}