pdfdancer-client-typescript 1.0.11 → 1.0.13

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 (68) hide show
  1. package/.claude/commands/discuss.md +4 -0
  2. package/.github/workflows/ci.yml +2 -2
  3. package/README.md +2 -2
  4. package/dist/__tests__/e2e/pdf-assertions.d.ts +1 -0
  5. package/dist/__tests__/e2e/pdf-assertions.d.ts.map +1 -1
  6. package/dist/__tests__/e2e/pdf-assertions.js +9 -3
  7. package/dist/__tests__/e2e/pdf-assertions.js.map +1 -1
  8. package/dist/fingerprint.d.ts +12 -0
  9. package/dist/fingerprint.d.ts.map +1 -0
  10. package/dist/fingerprint.js +196 -0
  11. package/dist/fingerprint.js.map +1 -0
  12. package/dist/image-builder.d.ts +4 -2
  13. package/dist/image-builder.d.ts.map +1 -1
  14. package/dist/image-builder.js +12 -3
  15. package/dist/image-builder.js.map +1 -1
  16. package/dist/index.d.ts +2 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +7 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/models.d.ts +75 -8
  21. package/dist/models.d.ts.map +1 -1
  22. package/dist/models.js +179 -21
  23. package/dist/models.js.map +1 -1
  24. package/dist/page-builder.d.ts +24 -0
  25. package/dist/page-builder.d.ts.map +1 -0
  26. package/dist/page-builder.js +107 -0
  27. package/dist/page-builder.js.map +1 -0
  28. package/dist/paragraph-builder.d.ts +48 -54
  29. package/dist/paragraph-builder.d.ts.map +1 -1
  30. package/dist/paragraph-builder.js +408 -135
  31. package/dist/paragraph-builder.js.map +1 -1
  32. package/dist/pdfdancer_v1.d.ts +90 -9
  33. package/dist/pdfdancer_v1.d.ts.map +1 -1
  34. package/dist/pdfdancer_v1.js +559 -55
  35. package/dist/pdfdancer_v1.js.map +1 -1
  36. package/dist/types.d.ts +24 -3
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/types.js +117 -2
  39. package/dist/types.js.map +1 -1
  40. package/docs/openapi.yml +2076 -0
  41. package/fixtures/Showcase.pdf +0 -0
  42. package/jest.config.js +1 -1
  43. package/package.json +1 -1
  44. package/src/__tests__/e2e/acroform.test.ts +5 -5
  45. package/src/__tests__/e2e/context-manager-showcase.test.ts +267 -0
  46. package/src/__tests__/e2e/form_x_object.test.ts +1 -1
  47. package/src/__tests__/e2e/image-showcase.test.ts +133 -0
  48. package/src/__tests__/e2e/image.test.ts +1 -1
  49. package/src/__tests__/e2e/line-showcase.test.ts +118 -0
  50. package/src/__tests__/e2e/line.test.ts +1 -16
  51. package/src/__tests__/e2e/page-showcase.test.ts +154 -0
  52. package/src/__tests__/e2e/paragraph-showcase.test.ts +523 -0
  53. package/src/__tests__/e2e/paragraph.test.ts +8 -8
  54. package/src/__tests__/e2e/pdf-assertions.ts +10 -3
  55. package/src/__tests__/e2e/pdfdancer-showcase.test.ts +40 -0
  56. package/src/__tests__/e2e/snapshot-showcase.test.ts +158 -0
  57. package/src/__tests__/e2e/snapshot.test.ts +296 -0
  58. package/src/__tests__/e2e/token_from_env.test.ts +85 -25
  59. package/src/__tests__/fingerprint.test.ts +36 -0
  60. package/src/fingerprint.ts +169 -0
  61. package/src/image-builder.ts +13 -6
  62. package/src/index.ts +6 -1
  63. package/src/models.ts +208 -24
  64. package/src/page-builder.ts +130 -0
  65. package/src/paragraph-builder.ts +517 -159
  66. package/src/pdfdancer_v1.ts +662 -58
  67. package/src/types.ts +145 -2
  68. package/update-api-spec.sh +3 -0
@@ -0,0 +1,4 @@
1
+ We discuss this: $ARGUMENTS.
2
+ You ask everything you need to know to completely understand what I want to know.
3
+ We discuss options, pros and cons and side effects.
4
+ You dont start to code until you have my approval.
@@ -12,7 +12,7 @@ jobs:
12
12
 
13
13
  strategy:
14
14
  matrix:
15
- node-version: [ 18.x, 20.x, 22.x, 24.x ]
15
+ node-version: [ 20.x, 22.x, 24.x ]
16
16
 
17
17
  steps:
18
18
  - uses: actions/checkout@v4
@@ -33,5 +33,5 @@ jobs:
33
33
  run: npm run build
34
34
 
35
35
  - name: Run tests
36
- run: npm run test:unit
36
+ run: PDFDANCER_BASE_URL=https://api-staging.pdfdancer.com PDFDANCER_TOKEN=42 npm run test
37
37
 
package/README.md CHANGED
@@ -30,7 +30,7 @@ PDFDancer gives you pixel-perfect programmatic control over any PDF document fro
30
30
  npm install pdfdancer-client-typescript
31
31
  ```
32
32
 
33
- Requires Node.js 18+ (or a modern browser) and a PDFDancer API token.
33
+ Requires Node.js 20+ (or a modern browser) and a PDFDancer API token.
34
34
 
35
35
  ## Quick Start — Edit an Existing PDF
36
36
 
@@ -330,7 +330,7 @@ try {
330
330
  - `PAGE` - Page objects
331
331
  - `FORM_FIELD` - Generic form field references
332
332
  - `TEXT_FIELD` - Text input fields
333
- - `CHECK_BOX` - Checkbox form fields
333
+ - `CHECKBOX` - Checkbox form fields
334
334
  - `RADIO_BUTTON` - Radio button form fields
335
335
 
336
336
  ### PositionMode
@@ -8,6 +8,7 @@ export declare class PDFAssertions {
8
8
  static create(sourcePdf: PDFDancer): Promise<PDFAssertions>;
9
9
  private aggregateCounts;
10
10
  assertTotalNumberOfElements(expected: number, pageIndex?: number): Promise<this>;
11
+ assertNumberOfPages(expected: number): Promise<this>;
11
12
  assertPageCount(expected: number): Promise<this>;
12
13
  assertPageDimension(width: number, height: number, orientation?: Orientation, pageIndex?: number): Promise<this>;
13
14
  assertParagraphIsAt(text: string, x: number, y: number, page?: number, epsilon?: number): Promise<this>;
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-assertions.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/pdf-assertions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-assertions.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/pdf-assertions.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ class PDFAssertions {
26
26
  await sourcePdf.save(tempFile);
27
27
  // Reopen the PDF with the same token and baseUrl
28
28
  const pdfData = fs_1.default.readFileSync(tempFile);
29
+ console.log(`PDF file saved to ${tempFile}`);
29
30
  const pdf = await index_1.PDFDancer.open(new Uint8Array(pdfData), token, baseUrl);
30
31
  return new PDFAssertions(pdf);
31
32
  }
@@ -59,6 +60,11 @@ class PDFAssertions {
59
60
  expect(actual).toBe(expected);
60
61
  return this;
61
62
  }
63
+ async assertNumberOfPages(expected) {
64
+ const pages = await this.pdf.pages();
65
+ expect(pages.length).toBe(expected);
66
+ return this;
67
+ }
62
68
  async assertPageCount(expected) {
63
69
  const pages = await this.pdf.pages();
64
70
  expect(pages.length).toBe(expected);
@@ -81,7 +87,7 @@ class PDFAssertions {
81
87
  const reference = paragraphs[0].objectRef();
82
88
  (0, assertions_1.expectWithin)(reference.position.getX(), x, epsilon);
83
89
  (0, assertions_1.expectWithin)(reference.position.getY(), y, epsilon);
84
- const byPosition = await this.pdf.page(page).selectParagraphsAt(x, y);
90
+ const byPosition = await this.pdf.page(page).selectParagraphsAt(x, y, epsilon);
85
91
  expect(byPosition.length).toBeGreaterThan(0);
86
92
  return this;
87
93
  }
@@ -133,7 +139,7 @@ class PDFAssertions {
133
139
  const reference = lines[0].objectRef();
134
140
  (0, assertions_1.expectWithin)(reference.position.getX(), x, epsilon);
135
141
  (0, assertions_1.expectWithin)(reference.position.getY(), y, epsilon);
136
- const byPosition = await this.pdf.page(page).selectTextLinesAt(x, y);
142
+ const byPosition = await this.pdf.page(page).selectTextLinesAt(x, y, epsilon);
137
143
  expect(byPosition.length).toBeGreaterThan(0);
138
144
  return this;
139
145
  }
@@ -162,7 +168,7 @@ class PDFAssertions {
162
168
  return this;
163
169
  }
164
170
  async assertImageAt(x, y, page = 0) {
165
- const images = await this.pdf.page(page).selectImagesAt(x, y);
171
+ const images = await this.pdf.page(page).selectImagesAt(x, y, 0.1);
166
172
  expect(images.length).toBe(1);
167
173
  return this;
168
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-assertions.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/pdf-assertions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-assertions.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/pdf-assertions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Fingerprint generation for PDFDancer client
3
+ * Generates a unique fingerprint hash to identify client requests
4
+ */
5
+ /**
6
+ * Generate a fingerprint hash from client data points
7
+ *
8
+ * @param userId Optional user ID to include in the fingerprint
9
+ * @returns SHA256 hash of fingerprint components
10
+ */
11
+ export declare function generateFingerprint(userId?: string): Promise<string>;
12
+ //# sourceMappingURL=fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkIH;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B1E"}
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ /**
3
+ * Fingerprint generation for PDFDancer client
4
+ * Generates a unique fingerprint hash to identify client requests
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.generateFingerprint = generateFingerprint;
41
+ const crypto = __importStar(require("crypto"));
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const os = __importStar(require("os"));
45
+ /**
46
+ * Get the install salt from localStorage (browser) or file storage (Node.js)
47
+ * This creates a persistent identifier for this client installation
48
+ */
49
+ function getInstallSalt() {
50
+ const storageKey = 'pdfdancer_install_salt';
51
+ // Check if we're in a browser environment
52
+ if (typeof localStorage !== 'undefined') {
53
+ let salt = localStorage.getItem(storageKey);
54
+ if (!salt) {
55
+ salt = crypto.randomBytes(16).toString('hex');
56
+ localStorage.setItem(storageKey, salt);
57
+ }
58
+ return salt;
59
+ }
60
+ // Node.js environment - use file storage
61
+ try {
62
+ const saltDir = path.join(os.homedir(), '.pdfdancer');
63
+ const saltFile = path.join(saltDir, 'install_salt');
64
+ // Create directory if it doesn't exist
65
+ if (!fs.existsSync(saltDir)) {
66
+ fs.mkdirSync(saltDir, { recursive: true, mode: 0o700 });
67
+ }
68
+ // Read existing salt or generate new one
69
+ if (fs.existsSync(saltFile)) {
70
+ return fs.readFileSync(saltFile, 'utf8').trim();
71
+ }
72
+ else {
73
+ const salt = crypto.randomBytes(16).toString('hex');
74
+ fs.writeFileSync(saltFile, salt, { mode: 0o600 });
75
+ return salt;
76
+ }
77
+ }
78
+ catch (error) {
79
+ // Fallback to generating a new salt if file operations fail
80
+ return crypto.randomBytes(16).toString('hex');
81
+ }
82
+ }
83
+ /**
84
+ * Attempt to get the client's IP address
85
+ * Note: This is limited on the client side and may not always be accurate
86
+ */
87
+ async function getClientIP() {
88
+ try {
89
+ // In browser, we can't reliably get the real IP
90
+ // Return a placeholder that will be consistent per session
91
+ return 'client-unknown';
92
+ }
93
+ catch {
94
+ return 'client-unknown';
95
+ }
96
+ }
97
+ /**
98
+ * Get the OS type
99
+ */
100
+ function getOSType() {
101
+ // Check if we're in Node.js
102
+ if (typeof process !== 'undefined' && process.platform) {
103
+ return process.platform;
104
+ }
105
+ // Browser environment
106
+ if (typeof navigator !== 'undefined') {
107
+ const userAgent = navigator.userAgent.toLowerCase();
108
+ if (userAgent.includes('win'))
109
+ return 'windows';
110
+ if (userAgent.includes('mac'))
111
+ return 'macos';
112
+ if (userAgent.includes('linux'))
113
+ return 'linux';
114
+ if (userAgent.includes('android'))
115
+ return 'android';
116
+ if (userAgent.includes('iphone') || userAgent.includes('ipad'))
117
+ return 'ios';
118
+ }
119
+ return 'unknown';
120
+ }
121
+ /**
122
+ * Get the current hostname
123
+ */
124
+ function getHostname() {
125
+ // Node.js environment
126
+ if (typeof process !== 'undefined') {
127
+ try {
128
+ return os.hostname();
129
+ }
130
+ catch {
131
+ // Fall through to browser logic
132
+ }
133
+ }
134
+ // Browser environment
135
+ if (typeof window !== 'undefined' && window.location) {
136
+ return window.location.hostname;
137
+ }
138
+ return 'unknown';
139
+ }
140
+ /**
141
+ * Get the timezone
142
+ */
143
+ function getTimezone() {
144
+ try {
145
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
146
+ }
147
+ catch {
148
+ return 'unknown';
149
+ }
150
+ }
151
+ /**
152
+ * Get the locale
153
+ */
154
+ function getLocale() {
155
+ try {
156
+ if (typeof navigator !== 'undefined' && navigator.language) {
157
+ return navigator.language;
158
+ }
159
+ return Intl.DateTimeFormat().resolvedOptions().locale;
160
+ }
161
+ catch {
162
+ return 'unknown';
163
+ }
164
+ }
165
+ /**
166
+ * Generate a fingerprint hash from client data points
167
+ *
168
+ * @param userId Optional user ID to include in the fingerprint
169
+ * @returns SHA256 hash of fingerprint components
170
+ */
171
+ async function generateFingerprint(userId) {
172
+ const ip = await getClientIP();
173
+ const uid = userId || 'unknown';
174
+ const osType = getOSType();
175
+ const sdkLanguage = 'typescript';
176
+ const timezone = getTimezone();
177
+ const locale = getLocale();
178
+ const domain = getHostname();
179
+ const installSalt = getInstallSalt();
180
+ // Hash individual components
181
+ const ipHash = crypto.createHash('sha256').update(ip).digest('hex');
182
+ const uidHash = crypto.createHash('sha256').update(uid).digest('hex');
183
+ const domainHash = crypto.createHash('sha256').update(domain).digest('hex');
184
+ // Concatenate all components and hash
185
+ const fingerprintData = ipHash +
186
+ uidHash +
187
+ osType +
188
+ sdkLanguage +
189
+ timezone +
190
+ locale +
191
+ domainHash +
192
+ installSalt;
193
+ const fingerprintHash = crypto.createHash('sha256').update(fingerprintData).digest('hex');
194
+ return fingerprintHash;
195
+ }
196
+ //# sourceMappingURL=fingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { PDFDancer } from "./pdfdancer_v1";
2
2
  export declare class ImageBuilder {
3
3
  private _client;
4
+ private readonly _defaultPageIndex?;
4
5
  private _imageData;
5
6
  private _position;
6
- private _internals;
7
- constructor(_client: PDFDancer);
7
+ private readonly _internals;
8
+ constructor(_client: PDFDancer, _defaultPageIndex?: number | undefined);
8
9
  fromFile(imagePath: string): this;
9
10
  fromBytes(imageData: Uint8Array<ArrayBuffer>): this;
11
+ at(x: number, y: number): this;
10
12
  at(pageIndex: number, x: number, y: number): this;
11
13
  add(): Promise<boolean>;
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"image-builder.d.ts","sourceRoot":"","sources":["../src/image-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AASzC,qBAAa,YAAY;IACrB,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAAqB;gBAE3B,OAAO,EAAE,SAAS;IAM9B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAS1B,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC;IAK5C,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKpC,GAAG;CAWZ"}
1
+ {"version":3,"file":"image-builder.d.ts","sourceRoot":"","sources":["../src/image-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AASzC,qBAAa,YAAY;IAKT,OAAO,CAAC,OAAO;IAAa,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAJ3E,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAE5B,OAAO,EAAE,SAAS,EAAmB,iBAAiB,CAAC,EAAE,MAAM,YAAA;IAKnF,QAAQ,CAAC,SAAS,EAAE,MAAM;IAS1B,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC;IAK5C,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAC9B,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAa3C,GAAG;CAWZ"}
@@ -7,8 +7,9 @@ exports.ImageBuilder = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const models_1 = require("./models");
9
9
  class ImageBuilder {
10
- constructor(_client) {
10
+ constructor(_client, _defaultPageIndex) {
11
11
  this._client = _client;
12
+ this._defaultPageIndex = _defaultPageIndex;
12
13
  // Cast to the internal interface to get access
13
14
  this._internals = this._client;
14
15
  }
@@ -24,8 +25,16 @@ class ImageBuilder {
24
25
  this._imageData = imageData;
25
26
  return this;
26
27
  }
27
- at(pageIndex, x, y) {
28
- this._position = models_1.Position.atPageCoordinates(pageIndex, x, y);
28
+ at(pageIndexOrX, xOrY, maybeY) {
29
+ if (maybeY === undefined) {
30
+ if (this._defaultPageIndex === undefined) {
31
+ throw new Error('Page index must be provided when adding an image');
32
+ }
33
+ this._position = models_1.Position.atPageCoordinates(this._defaultPageIndex, pageIndexOrX, xOrY);
34
+ }
35
+ else {
36
+ this._position = models_1.Position.atPageCoordinates(pageIndexOrX, xOrY, maybeY);
37
+ }
29
38
  return this;
30
39
  }
31
40
  async add() {
@@ -1 +1 @@
1
- {"version":3,"file":"image-builder.js","sourceRoot":"","sources":["../src/image-builder.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,qCAAyC;AAOzC,MAAa,YAAY;IAMrB,YAAY,OAAkB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAwC,CAAC;IACpE,CAAC;IAED,QAAQ,CAAC,SAAiB;QACtB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,YAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAA;IACf,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAC,SAAkC;QACxC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,EAAE,CAAC,SAAiB,EAAE,CAAS,EAAE,CAAS;QACtC,IAAI,CAAC,SAAS,GAAG,iBAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,cAAK,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACJ;AA1CD,oCA0CC"}
1
+ {"version":3,"file":"image-builder.js","sourceRoot":"","sources":["../src/image-builder.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,qCAAyC;AAOzC,MAAa,YAAY;IAKrB,YAAoB,OAAkB,EAAmB,iBAA0B;QAA/D,YAAO,GAAP,OAAO,CAAW;QAAmB,sBAAiB,GAAjB,iBAAiB,CAAS;QAC/E,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAwC,CAAC;IACpE,CAAC;IAED,QAAQ,CAAC,SAAiB;QACtB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,YAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAA;IACf,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAC,SAAkC;QACxC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAID,EAAE,CAAC,YAAoB,EAAE,IAAY,EAAE,MAAe;QAClD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,iBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,iBAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,cAAK,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACJ;AAjDD,oCAiDC"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,8 @@
5
5
  */
6
6
  export { PDFDancer } from './pdfdancer_v1';
7
7
  export { ParagraphBuilder } from './paragraph-builder';
8
+ export { PageBuilder } from './page-builder';
8
9
  export { PdfDancerException, FontNotFoundException, ValidationException, HttpClientException, SessionException } from './exceptions';
9
- export { ObjectRef, FormFieldRef, PageRef, PageSize, TextObjectRef, Position, ObjectType, Font, Color, Image, BoundingRect, Paragraph, PositionMode, ShapeType, Point, StandardFonts, Orientation, CommandResult, TextStatus, FontRecommendation, FontType } from './models';
10
+ export { ObjectRef, FormFieldRef, PageRef, PageSize, TextObjectRef, Position, ObjectType, Font, Color, Image, BoundingRect, Paragraph, TextLine, PositionMode, ShapeType, Point, StandardFonts, STANDARD_PAGE_SIZES, Orientation, CommandResult, TextStatus, FontRecommendation, FontType, DocumentSnapshot, PageSnapshot } from './models';
10
11
  export declare const VERSION = "1.0.0";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACT,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,OAAO,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -5,11 +5,13 @@
5
5
  * A TypeScript client library for the PDFDancer PDF manipulation API.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.VERSION = exports.FontType = exports.FontRecommendation = exports.TextStatus = exports.CommandResult = exports.Orientation = exports.StandardFonts = exports.ShapeType = exports.PositionMode = exports.Paragraph = exports.BoundingRect = exports.Image = exports.Color = exports.Font = exports.ObjectType = exports.Position = exports.TextObjectRef = exports.PageRef = exports.FormFieldRef = exports.ObjectRef = exports.SessionException = exports.HttpClientException = exports.ValidationException = exports.FontNotFoundException = exports.PdfDancerException = exports.ParagraphBuilder = exports.PDFDancer = void 0;
8
+ exports.VERSION = exports.PageSnapshot = exports.DocumentSnapshot = exports.FontType = exports.FontRecommendation = exports.TextStatus = exports.CommandResult = exports.Orientation = exports.STANDARD_PAGE_SIZES = exports.StandardFonts = exports.ShapeType = exports.PositionMode = exports.TextLine = exports.Paragraph = exports.BoundingRect = exports.Image = exports.Color = exports.Font = exports.ObjectType = exports.Position = exports.TextObjectRef = exports.PageRef = exports.FormFieldRef = exports.ObjectRef = exports.SessionException = exports.HttpClientException = exports.ValidationException = exports.FontNotFoundException = exports.PdfDancerException = exports.PageBuilder = exports.ParagraphBuilder = exports.PDFDancer = void 0;
9
9
  var pdfdancer_v1_1 = require("./pdfdancer_v1");
10
10
  Object.defineProperty(exports, "PDFDancer", { enumerable: true, get: function () { return pdfdancer_v1_1.PDFDancer; } });
11
11
  var paragraph_builder_1 = require("./paragraph-builder");
12
12
  Object.defineProperty(exports, "ParagraphBuilder", { enumerable: true, get: function () { return paragraph_builder_1.ParagraphBuilder; } });
13
+ var page_builder_1 = require("./page-builder");
14
+ Object.defineProperty(exports, "PageBuilder", { enumerable: true, get: function () { return page_builder_1.PageBuilder; } });
13
15
  var exceptions_1 = require("./exceptions");
14
16
  Object.defineProperty(exports, "PdfDancerException", { enumerable: true, get: function () { return exceptions_1.PdfDancerException; } });
15
17
  Object.defineProperty(exports, "FontNotFoundException", { enumerable: true, get: function () { return exceptions_1.FontNotFoundException; } });
@@ -28,13 +30,17 @@ Object.defineProperty(exports, "Color", { enumerable: true, get: function () { r
28
30
  Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return models_1.Image; } });
29
31
  Object.defineProperty(exports, "BoundingRect", { enumerable: true, get: function () { return models_1.BoundingRect; } });
30
32
  Object.defineProperty(exports, "Paragraph", { enumerable: true, get: function () { return models_1.Paragraph; } });
33
+ Object.defineProperty(exports, "TextLine", { enumerable: true, get: function () { return models_1.TextLine; } });
31
34
  Object.defineProperty(exports, "PositionMode", { enumerable: true, get: function () { return models_1.PositionMode; } });
32
35
  Object.defineProperty(exports, "ShapeType", { enumerable: true, get: function () { return models_1.ShapeType; } });
33
36
  Object.defineProperty(exports, "StandardFonts", { enumerable: true, get: function () { return models_1.StandardFonts; } });
37
+ Object.defineProperty(exports, "STANDARD_PAGE_SIZES", { enumerable: true, get: function () { return models_1.STANDARD_PAGE_SIZES; } });
34
38
  Object.defineProperty(exports, "Orientation", { enumerable: true, get: function () { return models_1.Orientation; } });
35
39
  Object.defineProperty(exports, "CommandResult", { enumerable: true, get: function () { return models_1.CommandResult; } });
36
40
  Object.defineProperty(exports, "TextStatus", { enumerable: true, get: function () { return models_1.TextStatus; } });
37
41
  Object.defineProperty(exports, "FontRecommendation", { enumerable: true, get: function () { return models_1.FontRecommendation; } });
38
42
  Object.defineProperty(exports, "FontType", { enumerable: true, get: function () { return models_1.FontType; } });
43
+ Object.defineProperty(exports, "DocumentSnapshot", { enumerable: true, get: function () { return models_1.DocumentSnapshot; } });
44
+ Object.defineProperty(exports, "PageSnapshot", { enumerable: true, get: function () { return models_1.PageSnapshot; } });
39
45
  exports.VERSION = "1.0.0";
40
46
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAClB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AAEzB,2CAMsB;AALpB,gHAAA,kBAAkB,OAAA;AAClB,mHAAA,qBAAqB,OAAA;AACrB,iHAAA,mBAAmB,OAAA;AACnB,iHAAA,mBAAmB,OAAA;AACnB,8GAAA,gBAAgB,OAAA;AAGlB,mCAsBkB;AArBhB,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,iGAAA,OAAO,OAAA;AAEP,uGAAA,aAAa,OAAA;AACb,kGAAA,QAAQ,OAAA;AACR,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AACJ,+FAAA,KAAK,OAAA;AACL,+FAAA,KAAK,OAAA;AACL,sGAAA,YAAY,OAAA;AACZ,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,mGAAA,SAAS,OAAA;AAET,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,4GAAA,kBAAkB,OAAA;AAClB,kGAAA,QAAQ,OAAA;AAGG,QAAA,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAClB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,2CAMsB;AALpB,gHAAA,kBAAkB,OAAA;AAClB,mHAAA,qBAAqB,OAAA;AACrB,iHAAA,mBAAmB,OAAA;AACnB,iHAAA,mBAAmB,OAAA;AACnB,8GAAA,gBAAgB,OAAA;AAGlB,mCA0BkB;AAzBhB,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,iGAAA,OAAO,OAAA;AAEP,uGAAA,aAAa,OAAA;AACb,kGAAA,QAAQ,OAAA;AACR,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AACJ,+FAAA,KAAK,OAAA;AACL,+FAAA,KAAK,OAAA;AACL,sGAAA,YAAY,OAAA;AACZ,mGAAA,SAAS,OAAA;AACT,kGAAA,QAAQ,OAAA;AACR,sGAAA,YAAY,OAAA;AACZ,mGAAA,SAAS,OAAA;AAET,uGAAA,aAAa,OAAA;AACb,6GAAA,mBAAmB,OAAA;AACnB,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,4GAAA,kBAAkB,OAAA;AAClB,kGAAA,QAAQ,OAAA;AACR,0GAAA,gBAAgB,OAAA;AAChB,sGAAA,YAAY,OAAA;AAGD,QAAA,OAAO,GAAG,OAAO,CAAC"}
package/dist/models.d.ts CHANGED
@@ -7,10 +7,11 @@ export declare enum ObjectType {
7
7
  PATH = "PATH",
8
8
  PARAGRAPH = "PARAGRAPH",
9
9
  TEXT_LINE = "TEXT_LINE",
10
+ TEXT_ELEMENT = "TEXT_ELEMENT",
10
11
  PAGE = "PAGE",
11
12
  FORM_FIELD = "FORM_FIELD",
12
13
  TEXT_FIELD = "TEXT_FIELD",
13
- CHECK_BOX = "CHECK_BOX",
14
+ CHECKBOX = "CHECKBOX",
14
15
  RADIO_BUTTON = "RADIO_BUTTON"
15
16
  }
16
17
  /**
@@ -61,6 +62,7 @@ export declare class Position {
61
62
  textStartsWith?: string | undefined;
62
63
  textPattern?: string | undefined;
63
64
  name?: string;
65
+ tolerance?: number;
64
66
  constructor(pageIndex?: number | undefined, shape?: ShapeType | undefined, mode?: PositionMode | undefined, boundingRect?: BoundingRect | undefined, textStartsWith?: string | undefined, textPattern?: string | undefined);
65
67
  /**
66
68
  * Creates a position specification for an entire page. Page indexes start with 0.
@@ -68,8 +70,9 @@ export declare class Position {
68
70
  static atPage(pageIndex: number): Position;
69
71
  /**
70
72
  * Creates a position specification for specific coordinates on a page.
73
+ * @param tolerance Optional tolerance in points for coordinate matching (default: 0)
71
74
  */
72
- static atPageCoordinates(pageIndex: number, x: number, y: number): Position;
75
+ static atPageCoordinates(pageIndex: number, x: number, y: number, tolerance?: number): Position;
73
76
  static atPageWithText(pageIndex: number, text: string): Position;
74
77
  /**
75
78
  * Creates a position specification for finding objects by name.
@@ -247,11 +250,28 @@ export declare class Image {
247
250
  */
248
251
  export declare class Paragraph {
249
252
  position?: Position | undefined;
250
- textLines?: string[] | undefined;
253
+ textLines?: Array<TextLine | string> | undefined;
251
254
  font?: Font | undefined;
252
255
  color?: Color | undefined;
253
256
  lineSpacing: number;
254
- constructor(position?: Position | undefined, textLines?: string[] | undefined, font?: Font | undefined, color?: Color | undefined, lineSpacing?: number);
257
+ lineSpacings?: number[] | null | undefined;
258
+ constructor(position?: Position | undefined, textLines?: Array<TextLine | string> | undefined, font?: Font | undefined, color?: Color | undefined, lineSpacing?: number, lineSpacings?: number[] | null | undefined);
259
+ getPosition(): Position | undefined;
260
+ setPosition(position: Position): void;
261
+ clearLines(): void;
262
+ addLine(textLine: TextLine | string): void;
263
+ getLines(): Array<TextLine | string>;
264
+ setLines(lines: Array<TextLine | string>): void;
265
+ setLineSpacings(spacings?: number[] | null): void;
266
+ getLineSpacings(): number[] | null | undefined;
267
+ }
268
+ export declare class TextLine {
269
+ position?: Position | undefined;
270
+ font?: Font | undefined;
271
+ color?: Color | undefined;
272
+ lineSpacing: number;
273
+ text: string;
274
+ constructor(position?: Position | undefined, font?: Font | undefined, color?: Color | undefined, lineSpacing?: number, text?: string);
255
275
  getPosition(): Position | undefined;
256
276
  setPosition(position: Position): void;
257
277
  }
@@ -337,10 +357,10 @@ export declare class CreatePdfRequest {
337
357
  * Request object for adding a page to the PDF.
338
358
  */
339
359
  export declare class AddPageRequest {
340
- pageIndex: number;
341
- pageSize?: string | undefined;
342
- orientation?: string | undefined;
343
- constructor(pageIndex: number, pageSize?: string | undefined, orientation?: string | undefined);
360
+ pageIndex?: number | undefined;
361
+ pageSize?: PageSize | undefined;
362
+ orientation?: (Orientation | string) | undefined;
363
+ constructor(pageIndex?: number | undefined, pageSize?: PageSize | undefined, orientation?: (Orientation | string) | undefined);
344
364
  toDict(): Record<string, any>;
345
365
  }
346
366
  /**
@@ -365,4 +385,51 @@ export declare class CommandResult {
365
385
  static fromDict(data: Record<string, any>): CommandResult;
366
386
  static empty(commandName: string, elementId: string | null): CommandResult;
367
387
  }
388
+ /**
389
+ * Represents a snapshot of a single page in a PDF document.
390
+ * Contains the page reference and all elements on that page.
391
+ */
392
+ export declare class PageSnapshot {
393
+ pageRef: PageRef;
394
+ elements: ObjectRef[];
395
+ constructor(pageRef: PageRef, elements: ObjectRef[]);
396
+ /**
397
+ * Filters elements by object type.
398
+ */
399
+ getElementsByType(type: ObjectType): ObjectRef[];
400
+ /**
401
+ * Gets the page index from the page reference.
402
+ */
403
+ getPageIndex(): number | undefined;
404
+ /**
405
+ * Returns the number of elements on this page.
406
+ */
407
+ getElementCount(): number;
408
+ }
409
+ /**
410
+ * Represents a complete snapshot of a PDF document.
411
+ * Contains page count, font information, and snapshots of all pages.
412
+ */
413
+ export declare class DocumentSnapshot {
414
+ pageCount: number;
415
+ fonts: FontRecommendation[];
416
+ pages: PageSnapshot[];
417
+ constructor(pageCount: number, fonts: FontRecommendation[], pages: PageSnapshot[]);
418
+ /**
419
+ * Gets the snapshot for a specific page by index.
420
+ */
421
+ getPageSnapshot(pageIndex: number): PageSnapshot | undefined;
422
+ /**
423
+ * Gets all elements across all pages.
424
+ */
425
+ getAllElements(): ObjectRef[];
426
+ /**
427
+ * Gets all elements of a specific type across all pages.
428
+ */
429
+ getElementsByType(type: ObjectType): ObjectRef[];
430
+ /**
431
+ * Returns the total number of elements across all pages.
432
+ */
433
+ getTotalElementCount(): number;
434
+ }
368
435
  //# sourceMappingURL=models.d.ts.map