survey-pdf 2.0.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/fesm/pdf-form-filler-shared.mjs +32 -23
  2. package/fesm/pdf-form-filler-shared.mjs.map +1 -1
  3. package/fesm/pdf-form-filler.mjs +10 -1
  4. package/fesm/pdf-form-filler.mjs.map +1 -1
  5. package/fesm/pdf-form-filler.node.mjs +1 -1
  6. package/fesm/survey.pdf.fonts.mjs +1 -1
  7. package/fesm/survey.pdf.mjs +6 -3
  8. package/fesm/survey.pdf.mjs.map +1 -1
  9. package/forms-typings/entries/helpers.d.ts +7 -0
  10. package/{typings → forms-typings}/pdf_forms/adapters/pdf-lib.d.ts +1 -1
  11. package/{typings → forms-typings}/pdf_forms/adapters/pdfjs.d.ts +1 -1
  12. package/forms-typings/pdf_forms/forms-base.d.ts +123 -0
  13. package/forms-typings/pdf_forms/forms.d.ts +13 -0
  14. package/package.json +3 -2
  15. package/pdf-form-filler.js +42 -20
  16. package/pdf-form-filler.js.map +1 -1
  17. package/pdf-form-filler.min.js +1 -1
  18. package/pdf-form-filler.min.js.LICENSE.txt +1 -1
  19. package/pdf-form-filler.node.js +33 -20
  20. package/pdf-form-filler.node.js.map +1 -1
  21. package/pdf-form-filler.node.min.js +1 -1
  22. package/pdf-form-filler.node.min.js.LICENSE.txt +1 -1
  23. package/survey.pdf.fonts.js +1 -1
  24. package/survey.pdf.fonts.min.js.LICENSE.txt +1 -1
  25. package/survey.pdf.js +6 -3
  26. package/survey.pdf.js.map +1 -1
  27. package/survey.pdf.min.js +1 -1
  28. package/survey.pdf.min.js.LICENSE.txt +1 -1
  29. package/typings/survey.d.ts +1 -1
  30. package/typings/helper_test.d.ts +0 -21
  31. package/typings/pdf_forms/forms-base.d.ts +0 -32
  32. package/typings/pdf_forms/forms.d.ts +0 -4
  33. /package/{typings → forms-typings}/entries/forms-node.d.ts +0 -0
  34. /package/{typings → forms-typings}/entries/forms.d.ts +0 -0
  35. /package/{typings → forms-typings}/pdf_forms/adapters/adapter.d.ts +0 -0
  36. /package/{typings → forms-typings}/pdf_forms/forms-node.d.ts +0 -0
  37. /package/{typings → forms-typings}/pdf_forms/map.d.ts +0 -0
@@ -0,0 +1,7 @@
1
+ export declare function __extends(d: any, b: any): void;
2
+ export declare var __assign: () => any;
3
+ export declare function __rest(s: any, e: any): any;
4
+ export declare function __decorate(decorators: any, target: any, key: any, desc: any): any;
5
+ export declare function __awaiter(thisArg: any, _arguments: any, P: any, generator: any): any;
6
+ export declare function __generator(thisArg: any, body: any): any;
7
+ export declare function __spreadArray(to: any, from: any, pack: any): any;
@@ -2,5 +2,5 @@ import { IPDFFormAdapter } from './adapter';
2
2
  export declare class PDFLibAdapter implements IPDFFormAdapter {
3
3
  private pdfLibrary;
4
4
  constructor(pdfLibrary: any);
5
- fillForm(template: string, data: any): Promise<any>;
5
+ fillForm(template: any, data: any): Promise<any>;
6
6
  }
@@ -2,5 +2,5 @@ import { IPDFFormAdapter } from './adapter';
2
2
  export declare class PDFJSAdapter implements IPDFFormAdapter {
3
3
  private pdfLibrary;
4
4
  constructor(pdfLibrary: any);
5
- fillForm(template: string, data: any): Promise<any>;
5
+ fillForm(template: any, data: any): Promise<any>;
6
6
  }
@@ -0,0 +1,123 @@
1
+ import { IPDFFormAdapter } from './adapters/adapter';
2
+ /**
3
+ * An object that configures the [`PDFFormFiller`](https://surveyjs.io/pdf-generator/documentation/api-reference/pdfformfiller) plugin.
4
+ *
5
+ * Pass this object to the `PDFFormFiller` constructor:
6
+ *
7
+ * ```js
8
+ * const form = new PDFFormFiller.PDFFormFiller(pdfFormFillerOptions);
9
+ *
10
+ * // In modular applications:
11
+ * import { PDFFormFiller } from "survey-pdf/pdf-form-filler";
12
+ * const form = new PDFFormFiller(pdfFormFillerOptions);
13
+ * ```
14
+ *
15
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
16
+ *
17
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
18
+ */
19
+ interface IPDFFormFillerOptions {
20
+ /**
21
+ * An object that maps survey fields to PDF form fields. Object keys are survey field names and object values are PDF form field IDs.
22
+ *
23
+ * The easiest way to build a field map is to access the data object with respondent answers using the `SurveyModel`'s `data` property and replace the values with the PDF form field IDs. To find the IDs, open your PDF document in any editor that allows viewing them. Note that certain field types, such as [Checkboxes](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/), [Dynamic Matrix](https://surveyjs.io/form-library/examples/dynamic-matrix-add-new-rows/), and [Dynamic Panel](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/) require a different configuration. Refer to the following demos for code examples.
24
+ *
25
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
26
+ *
27
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
28
+ */
29
+ fieldMap?: any;
30
+ /**
31
+ * An object with data used to populate the PDF document.
32
+ *
33
+ * Use the [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model)'s [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property to access this data object.
34
+ *
35
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
36
+ *
37
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
38
+ */
39
+ data?: any;
40
+ /**
41
+ * A PDF document with interactive form fields that you want to fill.
42
+ *
43
+ * Because this document is passed on to a third-party library, the type of accepted values depends on this library.
44
+ *
45
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
46
+ *
47
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
48
+ */
49
+ pdfTemplate?: any;
50
+ /**
51
+ * An adapter that serves as a bridge between the `PDFFormFiller` plugin and a specific third-party library.
52
+ *
53
+ * SurveyJS PDF Generator provides adapters for [`pdf-lib`](https://pdf-lib.js.org/) and [PDF.js](https://mozilla.github.io/pdf.js/) out of the box. Pass the libraries to the `PDFLibAdapter` or `PDFJSAdapter` constructor and assign the resulting instance to the `pdfLibraryAdapter` property.
54
+ *
55
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
56
+ *
57
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
58
+ */
59
+ pdfLibraryAdapter?: IPDFFormAdapter;
60
+ }
61
+ /**
62
+ * A base class for the `PDFFormFiller` plugin.
63
+ */
64
+ export declare abstract class PDFFormFillerBase {
65
+ constructor(options?: IPDFFormFillerOptions);
66
+ /**
67
+ * A PDF document with interactive form fields that you want to fill.
68
+ *
69
+ * Because this document is passed on to a third-party library, the type of accepted values depends on this library.
70
+ *
71
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
72
+ *
73
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
74
+ */
75
+ pdfTemplate: any;
76
+ /**
77
+ * An object that maps survey fields to PDF form fields. Object keys are survey field names and object values are PDF form field IDs.
78
+ *
79
+ * The easiest way to build a field map is to access the data object with respondent answers using the `SurveyModel`'s `data` property and replace the values with the PDF form field IDs. To find the IDs, open your PDF document in any editor that allows viewing them. Note that certain field types, such as [Checkboxes](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/), [Dynamic Matrix](https://surveyjs.io/form-library/examples/dynamic-matrix-add-new-rows/), and [Dynamic Panel](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/) require a different configuration. Refer to the following demos for code examples.
80
+ *
81
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
82
+ *
83
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
84
+ */
85
+ fieldMap: any;
86
+ /**
87
+ * An object with data used to populate the PDF document.
88
+ *
89
+ * Use the [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model)'s [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property to access this data object.
90
+ *
91
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
92
+ *
93
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
94
+ */
95
+ data: any;
96
+ /**
97
+ * An adapter that serves as a bridge between the `PDFFormFiller` plugin and a specific third-party library.
98
+ *
99
+ * SurveyJS PDF Generator provides adapters for [`pdf-lib`](https://pdf-lib.js.org/) and [PDF.js](https://mozilla.github.io/pdf.js/) out of the box. Pass the libraries to the `PDFLibAdapter` or `PDFJSAdapter` constructor and assign the resulting instance to the `pdfLibraryAdapter` property.
100
+ *
101
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
102
+ *
103
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
104
+ */
105
+ pdfLibraryAdapter?: IPDFFormAdapter;
106
+ protected getPDFBytes(): Promise<string>;
107
+ /**
108
+ * An asynchronous method that allows you to get PDF content in different formats.
109
+ * @param type *(Optional)* One of `"blob"`, `"bloburl"`, `"dataurlstring"`. Do not specify this parameter if you want to get raw PDF content as a string value.
110
+ */
111
+ raw(type?: 'blob' | 'bloburl' | 'dataurlstring'): Promise<string | Blob>;
112
+ protected abstract saveToFile(pdfBytes: string, fileName: string): Promise<void>;
113
+ /**
114
+ * An asynchronous method that starts to download the filled PDF form in the web browser.
115
+ *
116
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
117
+ *
118
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
119
+ * @param fileName *(Optional)* A file name with the ".pdf" extension. Default value: `"FilledForm.pdf"`.
120
+ */
121
+ save(fileName?: string): Promise<void>;
122
+ }
123
+ export {};
@@ -0,0 +1,13 @@
1
+ import { PDFFormFillerBase } from './forms-base';
2
+ /**
3
+ * A plugin that enables you to fill interactive fields in existing PDF forms.
4
+ *
5
+ * This plugin requires a third-party library, such as [`pdf-lib`](https://pdf-lib.js.org/) or [PDF.js](https://mozilla.github.io/pdf.js/):
6
+ *
7
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
8
+ *
9
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
10
+ */
11
+ export declare class PDFFormFiller extends PDFFormFillerBase {
12
+ protected saveToFile(pdfBytes: string, fileName: string): Promise<void>;
13
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "survey-pdf",
3
- "version": "2.0.9",
3
+ "version": "2.1.0",
4
4
  "description": "survey.pdf.js is a SurveyJS PDF Library. It is a easy way to export SurveyJS surveys to PDF. It uses JSON for survey metadata.",
5
5
  "keywords": [
6
6
  "Survey",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "typings": "./typings/entries/pdf.d.ts",
21
21
  "peerDependencies": {
22
- "survey-core": "2.0.9"
22
+ "survey-core": "2.1.0"
23
23
  },
24
24
  "dependencies": {
25
25
  "jspdf": "^2.3.0 || ^3"
@@ -35,6 +35,7 @@
35
35
  "require": "./survey.pdf.fonts.js"
36
36
  },
37
37
  "./pdf-form-filler": {
38
+ "types": "./forms-typings/entries/forms.d.ts",
38
39
  "node": {
39
40
  "import": "./fesm/pdf-form-filler.node.mjs",
40
41
  "require": "./pdf-form-filler.node.js"
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS PDF library v2.0.9
2
+ * surveyjs - SurveyJS PDF library v2.1.0
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -265,7 +265,7 @@ var PDFJSAdapter = /** @class */ (function () {
265
265
  }
266
266
  PDFJSAdapter.prototype.fillForm = function (template, data) {
267
267
  return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__awaiter)(this, void 0, void 0, function () {
268
- var pdfjsLib, doc, page, annotations;
268
+ var pdfjsLib, doc, numPages, pageNum, page, annotations;
269
269
  return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__generator)(this, function (_a) {
270
270
  switch (_a.label) {
271
271
  case 0:
@@ -273,11 +273,16 @@ var PDFJSAdapter = /** @class */ (function () {
273
273
  return [4 /*yield*/, pdfjsLib.getDocument(template).promise];
274
274
  case 1:
275
275
  doc = _a.sent();
276
- return [4 /*yield*/, doc.getPage(1)];
276
+ numPages = doc.numPages;
277
+ pageNum = 1;
278
+ _a.label = 2;
277
279
  case 2:
280
+ if (!(pageNum <= numPages)) return [3 /*break*/, 6];
281
+ return [4 /*yield*/, doc.getPage(pageNum)];
282
+ case 3:
278
283
  page = _a.sent();
279
284
  return [4 /*yield*/, page.getAnnotations()];
280
- case 3:
285
+ case 4:
281
286
  annotations = _a.sent();
282
287
  annotations.forEach(function (field) {
283
288
  if (field.fieldType == undefined)
@@ -290,8 +295,12 @@ var PDFJSAdapter = /** @class */ (function () {
290
295
  doc.annotationStorage.setValue(field.id, { value: value });
291
296
  }
292
297
  });
293
- return [4 /*yield*/, doc.saveDocument()];
294
- case 4: return [2 /*return*/, _a.sent()];
298
+ _a.label = 5;
299
+ case 5:
300
+ pageNum++;
301
+ return [3 /*break*/, 2];
302
+ case 6: return [4 /*yield*/, doc.saveDocument()];
303
+ case 7: return [2 /*return*/, _a.sent()];
295
304
  }
296
305
  });
297
306
  });
@@ -317,9 +326,11 @@ __webpack_require__.r(__webpack_exports__);
317
326
  /* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ "./src/pdf_forms/map.ts");
318
327
 
319
328
 
329
+ /**
330
+ * A base class for the `PDFFormFiller` plugin.
331
+ */
320
332
  var PDFFormFillerBase = /** @class */ (function () {
321
333
  function PDFFormFillerBase(options) {
322
- if (options === void 0) { options = null; }
323
334
  if (options) {
324
335
  this.data = options.data;
325
336
  this.fieldMap = options.fieldMap;
@@ -330,24 +341,21 @@ var PDFFormFillerBase = /** @class */ (function () {
330
341
  PDFFormFillerBase.prototype.getPDFBytes = function () {
331
342
  return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__awaiter)(this, void 0, void 0, function () {
332
343
  var map, plainData;
333
- return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__generator)(this, function (_a) {
334
- switch (_a.label) {
344
+ var _a;
345
+ return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__generator)(this, function (_b) {
346
+ switch (_b.label) {
335
347
  case 0:
336
348
  map = new _map__WEBPACK_IMPORTED_MODULE_1__["default"](this.fieldMap);
337
349
  plainData = map.mapData(this.data);
338
- return [4 /*yield*/, this.pdfLibraryAdapter.fillForm(this.pdfTemplate, plainData)];
339
- case 1: return [2 /*return*/, _a.sent()];
350
+ return [4 /*yield*/, ((_a = this.pdfLibraryAdapter) === null || _a === void 0 ? void 0 : _a.fillForm(this.pdfTemplate, plainData))];
351
+ case 1: return [2 /*return*/, _b.sent()];
340
352
  }
341
353
  });
342
354
  });
343
355
  };
344
356
  /**
345
357
  * An asynchronous method that allows you to get PDF content in different formats.
346
- *
347
- * [View Demo](https://surveyjs.io/pdf-generator/examples/convert-pdf-form-blob-base64-raw-pdf-javascript/ (linkStyle))
348
- *
349
358
  * @param type *(Optional)* One of `"blob"`, `"bloburl"`, `"dataurlstring"`. Do not specify this parameter if you want to get raw PDF content as a string value.
350
- *
351
359
  */
352
360
  PDFFormFillerBase.prototype.raw = function (type) {
353
361
  return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__awaiter)(this, void 0, void 0, function () {
@@ -357,10 +365,10 @@ var PDFFormFillerBase = /** @class */ (function () {
357
365
  case 0: return [4 /*yield*/, this.getPDFBytes()];
358
366
  case 1:
359
367
  pdfBytes = _a.sent();
360
- if (!type)
368
+ if (!type || !pdfBytes)
361
369
  return [2 /*return*/, pdfBytes];
362
370
  if (type == 'dataurlstring')
363
- return [2 /*return*/, 'data:text/plain;base64,' + btoa(pdfBytes)];
371
+ return [2 /*return*/, 'data:application/pdf;base64,' + btoa(String.fromCharCode.apply(null, pdfBytes))];
364
372
  blob = new Blob([pdfBytes], { type: 'application/pdf' });
365
373
  if (type == 'blob')
366
374
  return [2 /*return*/, blob];
@@ -372,19 +380,24 @@ var PDFFormFillerBase = /** @class */ (function () {
372
380
  });
373
381
  };
374
382
  /**
375
- * An asynchronous method that starts download of the generated PDF file in the web browser.
383
+ * An asynchronous method that starts to download the filled PDF form in the web browser.
384
+ *
385
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
376
386
  *
377
- * @param fileName *(Optional)* A file name with the ".pdf" extension. Default value: `"survey_result.pdf"`.
387
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
388
+ * @param fileName *(Optional)* A file name with the ".pdf" extension. Default value: `"FilledForm.pdf"`.
378
389
  */
379
390
  PDFFormFillerBase.prototype.save = function () {
380
391
  return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__awaiter)(this, arguments, void 0, function (fileName) {
381
392
  var pdfBytes;
382
- if (fileName === void 0) { fileName = 'survey_result.pdf'; }
393
+ if (fileName === void 0) { fileName = 'FilledForm.pdf'; }
383
394
  return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__generator)(this, function (_a) {
384
395
  switch (_a.label) {
385
396
  case 0: return [4 /*yield*/, this.getPDFBytes()];
386
397
  case 1:
387
398
  pdfBytes = _a.sent();
399
+ if (!pdfBytes)
400
+ return [2 /*return*/];
388
401
  return [4 /*yield*/, this.saveToFile(pdfBytes, fileName)];
389
402
  case 2:
390
403
  _a.sent();
@@ -414,6 +427,15 @@ __webpack_require__.r(__webpack_exports__);
414
427
  /* harmony import */ var _forms_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./forms-base */ "./src/pdf_forms/forms-base.ts");
415
428
 
416
429
 
430
+ /**
431
+ * A plugin that enables you to fill interactive fields in existing PDF forms.
432
+ *
433
+ * This plugin requires a third-party library, such as [`pdf-lib`](https://pdf-lib.js.org/) or [PDF.js](https://mozilla.github.io/pdf.js/):
434
+ *
435
+ * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))
436
+ *
437
+ * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))
438
+ */
417
439
  var PDFFormFiller = /** @class */ (function (_super) {
418
440
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(PDFFormFiller, _super);
419
441
  function PDFFormFiller() {
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-form-filler.js","mappings":"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","sources":["webpack://PDFFormFiller/webpack/universalModuleDefinition","webpack://PDFFormFiller/./src/entries/helpers.ts","webpack://PDFFormFiller/./src/pdf_forms/adapters/pdf-lib.ts","webpack://PDFFormFiller/./src/pdf_forms/adapters/pdfjs.ts","webpack://PDFFormFiller/./src/pdf_forms/forms-base.ts","webpack://PDFFormFiller/./src/pdf_forms/forms.ts","webpack://PDFFormFiller/./src/pdf_forms/map.ts","webpack://PDFFormFiller/webpack/bootstrap","webpack://PDFFormFiller/webpack/runtime/define property getters","webpack://PDFFormFiller/webpack/runtime/hasOwnProperty shorthand","webpack://PDFFormFiller/webpack/runtime/make namespace object","webpack://PDFFormFiller/./src/entries/forms.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"PDFFormFiller\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"PDFFormFiller\"] = factory();\n\telse\n\t\troot[\"PDFFormFiller\"] = factory();\n})(this, () => {\nreturn ","declare var Reflect: any;\n\nvar extendStatics = function(d: any, b: any): any {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d: any, b: any) {\n if (typeof b !== 'function' && b !== null)\n throw new TypeError('Class extends value ' + String(b) + ' is not a constructor or null');\n extendStatics(d, b);\n function __() { this.constructor = d; }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = (<any>Object).assign || function __assign(t: any) {\n for (var s: any, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\nexport function __rest(s: any, e: any) {\n var t: any = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === 'function')\n for (var i = 0, q = Object.getOwnPropertySymbols(s); i < q.length; i++) {\n if (e.indexOf(q[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, q[i]))\n t[q[i]] = s[q[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators: any, target: any, key: any, desc: any) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function') r = Reflect.decorate(decorators, target, key, desc);\n // eslint-disable-next-line no-cond-assign\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __awaiter(thisArg: any, _arguments: any, P: any, generator: any) {\n function adopt(value: any) { return value instanceof P ? value : new P(function (resolve: any) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve: any, reject: any) {\n function fulfilled(value: any) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value: any) { try { step(generator['throw'](value)); } catch (e) { reject(e); } }\n function step(result: any) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg: any, body: any) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: <any>[], ops: <any>[] }, f: any, y: any, t: any, g: any;\n return g = { next: verb(0), 'throw': verb(1), 'return': verb(2) }, typeof Symbol === 'function' && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n: any) { return function (v: any) { return step([n, v]); }; }\n function step(op: any) {\n if (f) throw new TypeError('Generator is already executing.');\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { (<any>_) = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport function __spreadArray (to: any, from: any, pack: any) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar: any; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}","import { IPDFFormAdapter } from './adapter';\nexport class PDFLibAdapter implements IPDFFormAdapter {\n constructor (private pdfLibrary: any) { }\n public async fillForm(template: string, data: any) {\n const { PDFDocument, PDFTextField, PDFCheckBox, PDFRadioGroup, PDFDropdown } = this.pdfLibrary;\n const pdfDoc = await PDFDocument.load(template);\n const form = pdfDoc.getForm();\n const fields = form.getFields();\n fields.forEach((field: any) => {\n const fieldName = field.getName();\n const value = data[fieldName];\n if(value === null || value === undefined) return;\n if (field instanceof PDFTextField) {\n field.setText(value);\n }\n else if (field instanceof PDFCheckBox) {\n if (value) field.check(); else field.uncheck();\n }\n else if (field instanceof PDFRadioGroup || field instanceof PDFDropdown) {\n field.select(value.toString());\n }\n });\n\n return await pdfDoc.save();\n }\n}\n","import { IPDFFormAdapter } from './adapter';\nexport class PDFJSAdapter implements IPDFFormAdapter {\n constructor (private pdfLibrary: any) { }\n public async fillForm(template: string, data: any) {\n const pdfjsLib = this.pdfLibrary;\n const doc = await pdfjsLib.getDocument(template).promise;\n const page = await doc.getPage(1);\n const annotations = await page.getAnnotations();\n annotations.forEach((field: any) => {\n if (field.fieldType == undefined) return;\n const value = data[field.fieldName];\n if (value) {\n if(field.radioButton && field.buttonValue != value) {\n return;\n }\n doc.annotationStorage.setValue(field.id, { value });\n }\n });\n\n return await doc.saveDocument();\n }\n}\n","import FormMap from './map';\r\nimport { IPDFFormAdapter } from './adapters/adapter';\r\nimport { writeFileSync } from 'fs';\r\n\r\ninterface IPDFFormFillerOptions{\r\n fieldMap: any;\r\n data: any;\r\n pdfTemplate: string;\r\n pdfLibraryAdapter: IPDFFormAdapter;\r\n}\r\nexport abstract class PDFFormFillerBase {\r\n constructor (options: IPDFFormFillerOptions = null) {\r\n if(options) {\r\n this.data = options.data;\r\n this.fieldMap = options.fieldMap;\r\n this.pdfTemplate = options.pdfTemplate;\r\n this.pdfLibraryAdapter = options.pdfLibraryAdapter;\r\n }\r\n }\r\n public pdfTemplate: string;\r\n public fieldMap: any;\r\n public data: any;\r\n public pdfLibraryAdapter: IPDFFormAdapter;\r\n\r\n protected async getPDFBytes() {\r\n const map = new FormMap(this.fieldMap);\r\n const plainData = map.mapData(this.data);\r\n return await this.pdfLibraryAdapter.fillForm(this.pdfTemplate, plainData);\r\n }\r\n /**\r\n * An asynchronous method that allows you to get PDF content in different formats.\r\n *\r\n * [View Demo](https://surveyjs.io/pdf-generator/examples/convert-pdf-form-blob-base64-raw-pdf-javascript/ (linkStyle))\r\n *\r\n * @param type *(Optional)* One of `\"blob\"`, `\"bloburl\"`, `\"dataurlstring\"`. Do not specify this parameter if you want to get raw PDF content as a string value.\r\n *\r\n */\r\n public async raw(type?: 'blob' | 'bloburl' | 'dataurlstring') {\r\n const pdfBytes = await this.getPDFBytes();\r\n if (!type) return pdfBytes;\r\n if (type == 'dataurlstring') return 'data:text/plain;base64,' + btoa(pdfBytes);\r\n const blob = new Blob([pdfBytes], { type: 'application/pdf' });\r\n if (type == 'blob') return blob;\r\n if (type == 'bloburl') return URL.createObjectURL(blob);\r\n return pdfBytes;\r\n }\r\n\r\n protected abstract saveToFile(pdfBytes:string, fileName: string): Promise<void>;\r\n /**\r\n * An asynchronous method that starts download of the generated PDF file in the web browser.\r\n *\r\n * @param fileName *(Optional)* A file name with the \".pdf\" extension. Default value: `\"survey_result.pdf\"`.\r\n */\r\n public async save(fileName: string = 'survey_result.pdf') {\r\n const pdfBytes = await this.getPDFBytes();\r\n await this.saveToFile(pdfBytes, fileName);\r\n }\r\n}","import { PDFFormFillerBase } from './forms-base';\n\nexport class PDFFormFiller extends PDFFormFillerBase {\n protected async saveToFile(pdfBytes: string, fileName: string) {\n const blob = new Blob([pdfBytes], { type: 'application/pdf' });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = fileName;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(link.href);\n }\n}","export default class FormsMap {\n private res: any = {};\n constructor(private map: any) { }\n private mapDataRecursive(data: any, map: any) {\n if(data === undefined || data === null) return;\n if (typeof(data) !== 'object') {\n if(Array.isArray(map)) {\n map.forEach((m) => {\n this.mapDataRecursive(data, m);\n });\n return;\n }\n if (typeof(map) !== 'object') {\n this.res[map] = data;\n } else {\n this.res[map[data].field] = map[data].value;\n }\n return;\n }\n if (Array.isArray(data)) {\n data.forEach((d, i) => {\n this.mapDataRecursive(d, Array.isArray(map) ? map[i] : map);\n });\n return;\n }\n Object.keys(data).forEach(key => {\n this.mapDataRecursive(data[key], map[key]);\n });\n }\n mapData(data: any) {\n this.res = {};\n this.mapDataRecursive(data, this.map);\n return this.res;\n }\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export { PDFFormFiller } from '../pdf_forms/forms';\nexport { PDFLibAdapter } from '../pdf_forms/adapters/pdf-lib';\nexport { PDFJSAdapter } from '../pdf_forms/adapters/pdfjs';\n"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"pdf-form-filler.js","mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;;;;;;;;;ACRA,IAAI,aAAa,GAAG,UAAS,CAAM,EAAE,CAAM;IACvC,aAAa,GAAG,MAAM,CAAC,cAAc;QACrC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEK,SAAS,SAAS,CAAC,CAAM,EAAE,CAAM;IACpC,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;QACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;IAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;IACvC,6DAA6D;IAC7D,aAAa;IACb,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC;AAEM,IAAI,QAAQ,GAAG;IAClB,QAAQ,GAAS,MAAO,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAM;QACvD,KAAK,IAAI,CAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,SAAS,MAAM,CAAC,CAAM,EAAE,CAAM;IACjC,IAAI,CAAC,GAAQ,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACL,OAAO,CAAC,CAAC;AACb,CAAC;AAEM,SAAS,UAAU,CAAC,UAAe,EAAE,MAAW,EAAE,GAAQ,EAAE,IAAS;IACxE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/H,0CAA0C;;QACrC,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAEM,SAAS,SAAS,CAAC,OAAY,EAAE,UAAe,EAAE,CAAM,EAAE,SAAc;IAC3E,SAAS,KAAK,CAAC,KAAU,IAAI,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,OAAY,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtH,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,OAAY,EAAE,MAAW;QAC/D,SAAS,SAAS,CAAC,KAAU,IAAI,IAAI,CAAC;YAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC;QAChG,SAAS,QAAQ,CAAC,KAAU,IAAI,IAAI,CAAC;YAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC;QACnG,SAAS,IAAI,CAAC,MAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnH,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACP,CAAC;AAEM,SAAS,WAAW,CAAC,OAAY,EAAE,IAAS;IAC/C,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAO,EAAE,EAAE,GAAG,EAAO,EAAE,EAAE,EAAE,CAAM,EAAE,CAAM,EAAE,CAAM,EAAE,CAAM,CAAC;IAC/I,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzJ,SAAS,IAAI,CAAC,CAAM,IAAI,OAAO,UAAU,CAAM,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,SAAS,IAAI,CAAC,EAAO;QACjB,IAAI,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;QAC9D,OAAO,CAAC;YAAE,IAAI,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBAAE,OAAO,CAAC,CAAC;gBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACZ,KAAK,CAAC,CAAC;oBAAC,KAAK,CAAC;wBAAE,CAAC,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAC9B,KAAK,CAAC;wBAAE,CAAC,CAAC,KAAK,EAAE,CAAC;wBAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBACxD,KAAK,CAAC;wBAAE,CAAC,CAAC,KAAK,EAAE,CAAC;wBAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;wBAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;wBAAC,SAAS;oBACjD,KAAK,CAAC;wBAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;wBAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;wBAAC,SAAS;oBACjD;wBACI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;4BAAO,CAAE,GAAG,CAAC,CAAC;4BAAC,SAAS;wBAAC,CAAC;wBACnH,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,MAAM;wBAAC,CAAC;wBACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAAC,CAAC;wBACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAAC,MAAM;wBAAC,CAAC;wBACnE,IAAI,CAAC,CAAC,CAAC,CAAC;4BAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;wBACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;wBAAC,SAAS;gBAC/B,CAAC;gBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;oBAAS,CAAC;gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrF,CAAC;AACL,CAAC;AAEM,SAAS,aAAa,CAAE,EAAO,EAAE,IAAS,EAAE,IAAS;IACxD,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvF,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,EAAE;oBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;;;;;;;;;;;;;;;;;AC/FD;IACI,uBAAqB,UAAe;QAAf,eAAU,GAAV,UAAU,CAAK;IAAI,CAAC;IAC5B,gCAAQ,GAArB,UAAsB,QAAa,EAAE,IAAS;;;;;;wBACpC,KAAyE,IAAI,CAAC,UAAU,EAAtF,WAAW,mBAAE,YAAY,oBAAE,WAAW,mBAAE,aAAa,qBAAE,WAAW,kBAAqB;wBAChF,qBAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;;wBAAzC,MAAM,GAAG,SAAgC;wBACzC,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;wBACxB,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;wBAChC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAU;4BACtB,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;4BAClC,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC9B,IAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gCAAE,OAAO;4BACjD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gCAChC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BACzB,CAAC;iCACI,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gCACpC,IAAI,KAAK;oCAAE,KAAK,CAAC,KAAK,EAAE,CAAC;;oCAAM,KAAK,CAAC,OAAO,EAAE,CAAC;4BACnD,CAAC;iCACI,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gCACtE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;4BACnC,CAAC;wBACL,CAAC,CAAC,CAAC;wBAEI,qBAAM,MAAM,CAAC,IAAI,EAAE;4BAA1B,sBAAO,SAAmB,EAAC;;;;KAC9B;IACL,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;ACxBD;IACI,sBAAqB,UAAe;QAAf,eAAU,GAAV,UAAU,CAAK;IAAI,CAAC;IAC5B,+BAAQ,GAArB,UAAsB,QAAa,EAAE,IAAS;;;;;;wBACpC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;wBACrB,qBAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO;;wBAAlD,GAAG,GAAG,SAA4C;wBAClD,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;wBAGrB,OAAO,GAAG,CAAC;;;6BAAE,QAAO,IAAI,QAAQ;wBACxB,qBAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;;wBAAjC,IAAI,GAAG,SAA0B;wBACnB,qBAAM,IAAI,CAAC,cAAc,EAAE;;wBAAzC,WAAW,GAAG,SAA2B;wBAC/C,WAAW,CAAC,OAAO,CAAC,UAAC,KAAU;4BAC3B,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS;gCAAE,OAAO;4BACzC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;4BACpC,IAAI,KAAK,EAAE,CAAC;gCACR,IAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,EAAE,CAAC;oCACjD,OAAO;gCACX,CAAC;gCACD,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,SAAE,CAAC,CAAC;4BACxD,CAAC;wBACL,CAAC,CAAC,CAAC;;;wBAZoC,OAAO,EAAE;;4BAe7C,qBAAM,GAAG,CAAC,YAAY,EAAE;4BAA/B,sBAAO,SAAwB,EAAC;;;;KACnC;IACL,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;AC1B2B;AA8D5B;;GAEG;AACH;IACI,2BAAa,OAA+B;QACxC,IAAG,OAAO,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACvD,CAAC;IACL,CAAC;IA0Ce,uCAAW,GAA3B;;;;;;;wBACU,GAAG,GAAG,IAAI,4CAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACjC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClC,qBAAM,WAAI,CAAC,iBAAiB,0CAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;4BAA1E,sBAAO,SAAmE,EAAC;;;;KAC9E;IACD;;;OAGG;IACU,+BAAG,GAAhB,UAAiB,IAA2C;;;;;4BACvC,qBAAM,IAAI,CAAC,WAAW,EAAE;;wBAAnC,QAAQ,GAAG,SAAwB;wBACzC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ;4BAAE,sBAAO,QAAQ,EAAC;wBACxC,IAAI,IAAI,IAAI,eAAe;4BAAE,sBAAO,8BAA8B,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAC;wBAC/G,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBAC/D,IAAI,IAAI,IAAI,MAAM;4BAAE,sBAAO,IAAI,EAAC;wBAChC,IAAI,IAAI,IAAI,SAAS;4BAAE,sBAAO,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAC;wBACxD,sBAAO,QAAQ,EAAC;;;;KACnB;IAGD;;;;;;;OAOG;IACU,gCAAI,GAAjB;mGAAkB,QAAmC;;YAAnC,sDAAmC;;;4BAChC,qBAAM,IAAI,CAAC,WAAW,EAAE;;wBAAnC,QAAQ,GAAG,SAAwB;wBACzC,IAAG,CAAC,QAAQ;4BAAE,sBAAO;wBACrB,qBAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;;wBAAzC,SAAyC,CAAC;;;;;KAC7C;IACL,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;ACpJgD;AAEjD;;;;;;;;GAQG;AACH;IAAmC,wEAAiB;IAApD;;IAWA,CAAC;IAVmB,kCAAU,GAA1B,UAA2B,QAAgB,EAAE,QAAgB;;;;gBACnD,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACzD,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAChC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;KAClC;IACL,oBAAC;AAAD,CAAC,CAXkC,0DAAiB,GAWnD;;;;;;;;;;;;;;;;ACtBD;IAEI,kBAAoB,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;QADpB,QAAG,GAAQ,EAAE,CAAC;IACU,CAAC;IACzB,mCAAgB,GAAxB,UAAyB,IAAS,EAAE,GAAQ;QAA5C,iBAyBC;QAxBG,IAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAC/C,IAAI,OAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,CAAC,UAAC,CAAC;oBACV,KAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YACD,IAAI,OAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAChD,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC;gBACd,KAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAG;YACzB,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IACD,0BAAO,GAAP,UAAQ,IAAS;QACb,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IACL,eAAC;AAAD,CAAC;;;;;;;;UClCD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;ACNmD;AACW;AACH","sources":["webpack://PDFFormFiller/webpack/universalModuleDefinition","webpack://PDFFormFiller/./src/entries/helpers.ts","webpack://PDFFormFiller/./src/pdf_forms/adapters/pdf-lib.ts","webpack://PDFFormFiller/./src/pdf_forms/adapters/pdfjs.ts","webpack://PDFFormFiller/./src/pdf_forms/forms-base.ts","webpack://PDFFormFiller/./src/pdf_forms/forms.ts","webpack://PDFFormFiller/./src/pdf_forms/map.ts","webpack://PDFFormFiller/webpack/bootstrap","webpack://PDFFormFiller/webpack/runtime/define property getters","webpack://PDFFormFiller/webpack/runtime/hasOwnProperty shorthand","webpack://PDFFormFiller/webpack/runtime/make namespace object","webpack://PDFFormFiller/./src/entries/forms.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"PDFFormFiller\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"PDFFormFiller\"] = factory();\n\telse\n\t\troot[\"PDFFormFiller\"] = factory();\n})(this, () => {\nreturn ","declare var Reflect: any;\n\nvar extendStatics = function(d: any, b: any): any {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d: any, b: any) {\n if (typeof b !== 'function' && b !== null)\n throw new TypeError('Class extends value ' + String(b) + ' is not a constructor or null');\n extendStatics(d, b);\n function __() { this.constructor = d; }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = (<any>Object).assign || function __assign(t: any) {\n for (var s: any, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\nexport function __rest(s: any, e: any) {\n var t: any = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === 'function')\n for (var i = 0, q = Object.getOwnPropertySymbols(s); i < q.length; i++) {\n if (e.indexOf(q[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, q[i]))\n t[q[i]] = s[q[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators: any, target: any, key: any, desc: any) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function') r = Reflect.decorate(decorators, target, key, desc);\n // eslint-disable-next-line no-cond-assign\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __awaiter(thisArg: any, _arguments: any, P: any, generator: any) {\n function adopt(value: any) { return value instanceof P ? value : new P(function (resolve: any) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve: any, reject: any) {\n function fulfilled(value: any) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value: any) { try { step(generator['throw'](value)); } catch (e) { reject(e); } }\n function step(result: any) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg: any, body: any) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: <any>[], ops: <any>[] }, f: any, y: any, t: any, g: any;\n return g = { next: verb(0), 'throw': verb(1), 'return': verb(2) }, typeof Symbol === 'function' && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n: any) { return function (v: any) { return step([n, v]); }; }\n function step(op: any) {\n if (f) throw new TypeError('Generator is already executing.');\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { (<any>_) = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport function __spreadArray (to: any, from: any, pack: any) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar: any; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}","import { IPDFFormAdapter } from './adapter';\nexport class PDFLibAdapter implements IPDFFormAdapter {\n constructor (private pdfLibrary: any) { }\n public async fillForm(template: any, data: any) {\n const { PDFDocument, PDFTextField, PDFCheckBox, PDFRadioGroup, PDFDropdown } = this.pdfLibrary;\n const pdfDoc = await PDFDocument.load(template);\n const form = pdfDoc.getForm();\n const fields = form.getFields();\n fields.forEach((field: any) => {\n const fieldName = field.getName();\n const value = data[fieldName];\n if(value === null || value === undefined) return;\n if (field instanceof PDFTextField) {\n field.setText(value);\n }\n else if (field instanceof PDFCheckBox) {\n if (value) field.check(); else field.uncheck();\n }\n else if (field instanceof PDFRadioGroup || field instanceof PDFDropdown) {\n field.select(value.toString());\n }\n });\n\n return await pdfDoc.save();\n }\n}\n","import { IPDFFormAdapter } from './adapter';\nexport class PDFJSAdapter implements IPDFFormAdapter {\n constructor (private pdfLibrary: any) { }\n public async fillForm(template: any, data: any) {\n const pdfjsLib = this.pdfLibrary;\n const doc = await pdfjsLib.getDocument(template).promise;\n const numPages = doc.numPages;\n\n // Process all pages\n for (let pageNum = 1; pageNum <= numPages; pageNum++) {\n const page = await doc.getPage(pageNum);\n const annotations = await page.getAnnotations();\n annotations.forEach((field: any) => {\n if (field.fieldType == undefined) return;\n const value = data[field.fieldName];\n if (value) {\n if(field.radioButton && field.buttonValue != value) {\n return;\n }\n doc.annotationStorage.setValue(field.id, { value });\n }\n });\n }\n\n return await doc.saveDocument();\n }\n}\n","import FormMap from './map';\r\nimport { IPDFFormAdapter } from './adapters/adapter';\r\n\r\n/**\r\n * An object that configures the [`PDFFormFiller`](https://surveyjs.io/pdf-generator/documentation/api-reference/pdfformfiller) plugin.\r\n *\r\n * Pass this object to the `PDFFormFiller` constructor:\r\n *\r\n * ```js\r\n * const form = new PDFFormFiller.PDFFormFiller(pdfFormFillerOptions);\r\n *\r\n * // In modular applications:\r\n * import { PDFFormFiller } from \"survey-pdf/pdf-form-filler\";\r\n * const form = new PDFFormFiller(pdfFormFillerOptions);\r\n * ```\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\ninterface IPDFFormFillerOptions {\r\n /**\r\n * An object that maps survey fields to PDF form fields. Object keys are survey field names and object values are PDF form field IDs.\r\n *\r\n * The easiest way to build a field map is to access the data object with respondent answers using the `SurveyModel`'s `data` property and replace the values with the PDF form field IDs. To find the IDs, open your PDF document in any editor that allows viewing them. Note that certain field types, such as [Checkboxes](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/), [Dynamic Matrix](https://surveyjs.io/form-library/examples/dynamic-matrix-add-new-rows/), and [Dynamic Panel](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/) require a different configuration. Refer to the following demos for code examples.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\n fieldMap?: any;\r\n /**\r\n * An object with data used to populate the PDF document.\r\n *\r\n * Use the [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model)'s [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property to access this data object.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\n data?: any;\r\n /**\r\n * A PDF document with interactive form fields that you want to fill.\r\n *\r\n * Because this document is passed on to a third-party library, the type of accepted values depends on this library.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\n pdfTemplate?: any;\r\n /**\r\n * An adapter that serves as a bridge between the `PDFFormFiller` plugin and a specific third-party library.\r\n *\r\n * SurveyJS PDF Generator provides adapters for [`pdf-lib`](https://pdf-lib.js.org/) and [PDF.js](https://mozilla.github.io/pdf.js/) out of the box. Pass the libraries to the `PDFLibAdapter` or `PDFJSAdapter` constructor and assign the resulting instance to the `pdfLibraryAdapter` property.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\n pdfLibraryAdapter?: IPDFFormAdapter;\r\n}\r\n/**\r\n * A base class for the `PDFFormFiller` plugin.\r\n */\r\nexport abstract class PDFFormFillerBase {\r\n constructor (options?: IPDFFormFillerOptions) {\r\n if(options) {\r\n this.data = options.data;\r\n this.fieldMap = options.fieldMap;\r\n this.pdfTemplate = options.pdfTemplate;\r\n this.pdfLibraryAdapter = options.pdfLibraryAdapter;\r\n }\r\n }\r\n /**\r\n * A PDF document with interactive form fields that you want to fill.\r\n *\r\n * Because this document is passed on to a third-party library, the type of accepted values depends on this library.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\n public pdfTemplate: any;\r\n /**\r\n * An object that maps survey fields to PDF form fields. Object keys are survey field names and object values are PDF form field IDs.\r\n *\r\n * The easiest way to build a field map is to access the data object with respondent answers using the `SurveyModel`'s `data` property and replace the values with the PDF form field IDs. To find the IDs, open your PDF document in any editor that allows viewing them. Note that certain field types, such as [Checkboxes](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/), [Dynamic Matrix](https://surveyjs.io/form-library/examples/dynamic-matrix-add-new-rows/), and [Dynamic Panel](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/) require a different configuration. Refer to the following demos for code examples.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\n public fieldMap: any;\r\n /**\r\n * An object with data used to populate the PDF document.\r\n *\r\n * Use the [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model)'s [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property to access this data object.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\n public data: any;\r\n /**\r\n * An adapter that serves as a bridge between the `PDFFormFiller` plugin and a specific third-party library.\r\n *\r\n * SurveyJS PDF Generator provides adapters for [`pdf-lib`](https://pdf-lib.js.org/) and [PDF.js](https://mozilla.github.io/pdf.js/) out of the box. Pass the libraries to the `PDFLibAdapter` or `PDFJSAdapter` constructor and assign the resulting instance to the `pdfLibraryAdapter` property.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n */\r\n public pdfLibraryAdapter?: IPDFFormAdapter;\r\n\r\n protected async getPDFBytes() {\r\n const map = new FormMap(this.fieldMap);\r\n const plainData = map.mapData(this.data);\r\n return await this.pdfLibraryAdapter?.fillForm(this.pdfTemplate, plainData);\r\n }\r\n /**\r\n * An asynchronous method that allows you to get PDF content in different formats.\r\n * @param type *(Optional)* One of `\"blob\"`, `\"bloburl\"`, `\"dataurlstring\"`. Do not specify this parameter if you want to get raw PDF content as a string value.\r\n */\r\n public async raw(type?: 'blob' | 'bloburl' | 'dataurlstring') {\r\n const pdfBytes = await this.getPDFBytes();\r\n if (!type || !pdfBytes) return pdfBytes;\r\n if (type == 'dataurlstring') return 'data:application/pdf;base64,' + btoa(String.fromCharCode.apply(null, pdfBytes));\r\n const blob = new Blob([pdfBytes], { type: 'application/pdf' });\r\n if (type == 'blob') return blob;\r\n if (type == 'bloburl') return URL.createObjectURL(blob);\r\n return pdfBytes;\r\n }\r\n\r\n protected abstract saveToFile(pdfBytes:string, fileName: string): Promise<void>;\r\n /**\r\n * An asynchronous method that starts to download the filled PDF form in the web browser.\r\n *\r\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\r\n *\r\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\r\n * @param fileName *(Optional)* A file name with the \".pdf\" extension. Default value: `\"FilledForm.pdf\"`.\r\n */\r\n public async save(fileName: string = 'FilledForm.pdf') {\r\n const pdfBytes = await this.getPDFBytes();\r\n if(!pdfBytes) return;\r\n await this.saveToFile(pdfBytes, fileName);\r\n }\r\n}","import { PDFFormFillerBase } from './forms-base';\n\n/**\n * A plugin that enables you to fill interactive fields in existing PDF forms.\n *\n * This plugin requires a third-party library, such as [`pdf-lib`](https://pdf-lib.js.org/) or [PDF.js](https://mozilla.github.io/pdf.js/):\n *\n * [View pdf-lib Demo](https://surveyjs.io/pdf-generator/examples/map-survey-responses-to-pdf-fields-using-pdflib/ (linkStyle))\n *\n * [View PDF.js Demo](https://surveyjs.io/pdf-generator/examples/fill-in-pdf-form-fields-with-dynamic-survey-data-using-pdfjs/ (linkStyle))\n */\nexport class PDFFormFiller extends PDFFormFillerBase {\n protected async saveToFile(pdfBytes: string, fileName: string) {\n const blob = new Blob([pdfBytes], { type: 'application/pdf' });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = fileName;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(link.href);\n }\n}","export default class FormsMap {\n private res: any = {};\n constructor(private map: any) { }\n private mapDataRecursive(data: any, map: any) {\n if(data === undefined || data === null) return;\n if (typeof(data) !== 'object') {\n if(Array.isArray(map)) {\n map.forEach((m) => {\n this.mapDataRecursive(data, m);\n });\n return;\n }\n if (typeof(map) !== 'object') {\n this.res[map] = data;\n } else {\n this.res[map[data].field] = map[data].value;\n }\n return;\n }\n if (Array.isArray(data)) {\n data.forEach((d, i) => {\n this.mapDataRecursive(d, Array.isArray(map) ? map[i] : map);\n });\n return;\n }\n Object.keys(data).forEach(key => {\n this.mapDataRecursive(data[key], map[key]);\n });\n }\n mapData(data: any) {\n this.res = {};\n this.mapDataRecursive(data, this.map);\n return this.res;\n }\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export { PDFFormFiller } from '../pdf_forms/forms';\nexport { PDFLibAdapter } from '../pdf_forms/adapters/pdf-lib';\nexport { PDFJSAdapter } from '../pdf_forms/adapters/pdfjs';\n"],"names":[],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see pdf-form-filler.min.js.LICENSE.txt */
2
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("PDFFormFiller",[],e):"object"==typeof exports?exports.PDFFormFiller=e():t.PDFFormFiller=e()}(this,(()=>(()=>{"use strict";var t={d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{PDFFormFiller:()=>a,PDFJSAdapter:()=>c,PDFLibAdapter:()=>u});var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)};function n(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{c(n.next(t))}catch(t){i(t)}}function u(t){try{c(n.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,u)}c((n=n.apply(t,e||[])).next())}))}function o(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}const i=function(){function t(t){this.map=t,this.res={}}return t.prototype.mapDataRecursive=function(t,e){var r=this;if(null!=t)return"object"!=typeof t?Array.isArray(e)?void e.forEach((function(e){r.mapDataRecursive(t,e)})):void("object"!=typeof e?this.res[e]=t:this.res[e[t].field]=e[t].value):void(Array.isArray(t)?t.forEach((function(t,n){r.mapDataRecursive(t,Array.isArray(e)?e[n]:e)})):Object.keys(t).forEach((function(n){r.mapDataRecursive(t[n],e[n])})))},t.prototype.mapData=function(t){return this.res={},this.mapDataRecursive(t,this.map),this.res},t}();var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(e,t),e.prototype.saveToFile=function(t,e){return n(this,void 0,void 0,(function(){var r,n;return o(this,(function(o){return r=new Blob([t],{type:"application/pdf"}),(n=document.createElement("a")).href=URL.createObjectURL(r),n.download=e,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(n.href),[2]}))}))},e}(function(){function t(t){void 0===t&&(t=null),t&&(this.data=t.data,this.fieldMap=t.fieldMap,this.pdfTemplate=t.pdfTemplate,this.pdfLibraryAdapter=t.pdfLibraryAdapter)}return t.prototype.getPDFBytes=function(){return n(this,void 0,void 0,(function(){var t,e;return o(this,(function(r){switch(r.label){case 0:return t=new i(this.fieldMap),e=t.mapData(this.data),[4,this.pdfLibraryAdapter.fillForm(this.pdfTemplate,e)];case 1:return[2,r.sent()]}}))}))},t.prototype.raw=function(t){return n(this,void 0,void 0,(function(){var e,r;return o(this,(function(n){switch(n.label){case 0:return[4,this.getPDFBytes()];case 1:return e=n.sent(),t?"dataurlstring"==t?[2,"data:text/plain;base64,"+btoa(e)]:(r=new Blob([e],{type:"application/pdf"}),"blob"==t?[2,r]:"bloburl"==t?[2,URL.createObjectURL(r)]:[2,e]):[2,e]}}))}))},t.prototype.save=function(){return n(this,arguments,void 0,(function(t){var e;return void 0===t&&(t="survey_result.pdf"),o(this,(function(r){switch(r.label){case 0:return[4,this.getPDFBytes()];case 1:return e=r.sent(),[4,this.saveToFile(e,t)];case 2:return r.sent(),[2]}}))}))},t}()),u=function(){function t(t){this.pdfLibrary=t}return t.prototype.fillForm=function(t,e){return n(this,void 0,void 0,(function(){var r,n,i,a,u,c,s;return o(this,(function(o){switch(o.label){case 0:return r=this.pdfLibrary,n=r.PDFDocument,i=r.PDFTextField,a=r.PDFCheckBox,u=r.PDFRadioGroup,c=r.PDFDropdown,[4,n.load(t)];case 1:return s=o.sent(),s.getForm().getFields().forEach((function(t){var r=t.getName(),n=e[r];null!=n&&(t instanceof i?t.setText(n):t instanceof a?n?t.check():t.uncheck():(t instanceof u||t instanceof c)&&t.select(n.toString()))})),[4,s.save()];case 2:return[2,o.sent()]}}))}))},t}(),c=function(){function t(t){this.pdfLibrary=t}return t.prototype.fillForm=function(t,e){return n(this,void 0,void 0,(function(){var r;return o(this,(function(n){switch(n.label){case 0:return[4,this.pdfLibrary.getDocument(t).promise];case 1:return[4,(r=n.sent()).getPage(1)];case 2:return[4,n.sent().getAnnotations()];case 3:return n.sent().forEach((function(t){if(null!=t.fieldType){var n=e[t.fieldName];if(n){if(t.radioButton&&t.buttonValue!=n)return;r.annotationStorage.setValue(t.id,{value:n})}}})),[4,r.saveDocument()];case 4:return[2,n.sent()]}}))}))},t}();return e})()));
2
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("PDFFormFiller",[],e):"object"==typeof exports?exports.PDFFormFiller=e():t.PDFFormFiller=e()}(this,(()=>(()=>{"use strict";var t={d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{PDFFormFiller:()=>a,PDFJSAdapter:()=>c,PDFLibAdapter:()=>u});var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)};function n(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{c(n.next(t))}catch(t){i(t)}}function u(t){try{c(n.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,u)}c((n=n.apply(t,e||[])).next())}))}function o(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}const i=function(){function t(t){this.map=t,this.res={}}return t.prototype.mapDataRecursive=function(t,e){var r=this;if(null!=t)return"object"!=typeof t?Array.isArray(e)?void e.forEach((function(e){r.mapDataRecursive(t,e)})):void("object"!=typeof e?this.res[e]=t:this.res[e[t].field]=e[t].value):void(Array.isArray(t)?t.forEach((function(t,n){r.mapDataRecursive(t,Array.isArray(e)?e[n]:e)})):Object.keys(t).forEach((function(n){r.mapDataRecursive(t[n],e[n])})))},t.prototype.mapData=function(t){return this.res={},this.mapDataRecursive(t,this.map),this.res},t}();var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(e,t),e.prototype.saveToFile=function(t,e){return n(this,void 0,void 0,(function(){var r,n;return o(this,(function(o){return r=new Blob([t],{type:"application/pdf"}),(n=document.createElement("a")).href=URL.createObjectURL(r),n.download=e,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(n.href),[2]}))}))},e}(function(){function t(t){t&&(this.data=t.data,this.fieldMap=t.fieldMap,this.pdfTemplate=t.pdfTemplate,this.pdfLibraryAdapter=t.pdfLibraryAdapter)}return t.prototype.getPDFBytes=function(){return n(this,void 0,void 0,(function(){var t,e,r;return o(this,(function(n){switch(n.label){case 0:return t=new i(this.fieldMap),e=t.mapData(this.data),[4,null===(r=this.pdfLibraryAdapter)||void 0===r?void 0:r.fillForm(this.pdfTemplate,e)];case 1:return[2,n.sent()]}}))}))},t.prototype.raw=function(t){return n(this,void 0,void 0,(function(){var e,r;return o(this,(function(n){switch(n.label){case 0:return[4,this.getPDFBytes()];case 1:return e=n.sent(),t&&e?"dataurlstring"==t?[2,"data:application/pdf;base64,"+btoa(String.fromCharCode.apply(null,e))]:(r=new Blob([e],{type:"application/pdf"}),"blob"==t?[2,r]:"bloburl"==t?[2,URL.createObjectURL(r)]:[2,e]):[2,e]}}))}))},t.prototype.save=function(){return n(this,arguments,void 0,(function(t){var e;return void 0===t&&(t="FilledForm.pdf"),o(this,(function(r){switch(r.label){case 0:return[4,this.getPDFBytes()];case 1:return(e=r.sent())?[4,this.saveToFile(e,t)]:[2];case 2:return r.sent(),[2]}}))}))},t}()),u=function(){function t(t){this.pdfLibrary=t}return t.prototype.fillForm=function(t,e){return n(this,void 0,void 0,(function(){var r,n,i,a,u,c,s;return o(this,(function(o){switch(o.label){case 0:return r=this.pdfLibrary,n=r.PDFDocument,i=r.PDFTextField,a=r.PDFCheckBox,u=r.PDFRadioGroup,c=r.PDFDropdown,[4,n.load(t)];case 1:return s=o.sent(),s.getForm().getFields().forEach((function(t){var r=t.getName(),n=e[r];null!=n&&(t instanceof i?t.setText(n):t instanceof a?n?t.check():t.uncheck():(t instanceof u||t instanceof c)&&t.select(n.toString()))})),[4,s.save()];case 2:return[2,o.sent()]}}))}))},t}(),c=function(){function t(t){this.pdfLibrary=t}return t.prototype.fillForm=function(t,e){return n(this,void 0,void 0,(function(){var r,n,i;return o(this,(function(o){switch(o.label){case 0:return[4,this.pdfLibrary.getDocument(t).promise];case 1:r=o.sent(),n=r.numPages,i=1,o.label=2;case 2:return i<=n?[4,r.getPage(i)]:[3,6];case 3:return[4,o.sent().getAnnotations()];case 4:o.sent().forEach((function(t){if(null!=t.fieldType){var n=e[t.fieldName];if(n){if(t.radioButton&&t.buttonValue!=n)return;r.annotationStorage.setValue(t.id,{value:n})}}})),o.label=5;case 5:return i++,[3,2];case 6:return[4,r.saveDocument()];case 7:return[2,o.sent()]}}))}))},t}();return e})()));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS PDF library v2.0.9
2
+ * surveyjs - SurveyJS PDF library v2.1.0
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */