prepareExternalSignatureTopLeft static method

Future<PdfExternalSigningPrepared> prepareExternalSignatureTopLeft({
  1. required Uint8List inputBytes,
  2. required int pageNumber,
  3. required double left,
  4. required double top,
  5. required double width,
  6. required double height,
  7. required String fieldName,
  8. PdfSignatureConfig? signature,
  9. List<List<int>> publicCertificates = const <List<int>>[],
  10. void drawAppearance(
    1. PdfGraphics graphics,
    2. PdfRect bounds
    )?,
})

Prepares a PDF for external signing using top-left coordinates.

Implementation

static Future<PdfExternalSigningPrepared> prepareExternalSignatureTopLeft({
  required Uint8List inputBytes,
  required int pageNumber,
  required double left,
  required double top,
  required double width,
  required double height,
  required String fieldName,
  PdfSignatureConfig? signature,
  List<List<int>> publicCertificates = const <List<int>>[],
  void Function(PdfGraphics graphics, PdfRect bounds)? drawAppearance,
}) async {
  final parser = PdfDocumentParser(inputBytes);
  final document = PdfDocument.load(parser);
  final pageIndex = pageNumber - 1;
  if (pageIndex < 0 || pageIndex >= document.pdfPageList.pages.length) {
    throw RangeError.index(
        pageIndex, document.pdfPageList.pages, 'pageNumber');
  }
  final page = document.pdfPageList.pages[pageIndex];
  final pageHeight = page.pageFormat.height;
  final bounds = PdfRect(left, pageHeight - top - height, width, height);

  return PdfExternalSigning.preparePdf(
    inputBytes: inputBytes,
    pageNumber: pageNumber,
    bounds: bounds,
    fieldName: fieldName,
    signature: signature,
    publicCertificates: publicCertificates,
    drawAppearance: drawAppearance,
  );
}