pdfdancer-client-typescript 1.0.4 → 1.0.6

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 (54) hide show
  1. package/README.md +5 -5
  2. package/dist/__tests__/e2e/test-helpers.d.ts +2 -1
  3. package/dist/__tests__/e2e/test-helpers.d.ts.map +1 -1
  4. package/dist/__tests__/e2e/test-helpers.js +7 -3
  5. package/dist/__tests__/e2e/test-helpers.js.map +1 -1
  6. package/dist/client-v1.js +1 -1
  7. package/dist/client-v1.js.map +1 -1
  8. package/dist/client-v2.d.ts +129 -0
  9. package/dist/client-v2.d.ts.map +1 -0
  10. package/dist/client-v2.js +696 -0
  11. package/dist/client-v2.js.map +1 -0
  12. package/dist/image-builder.d.ts +13 -0
  13. package/dist/image-builder.d.ts.map +1 -0
  14. package/dist/image-builder.js +44 -0
  15. package/dist/image-builder.js.map +1 -0
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/models.d.ts +5 -10
  21. package/dist/models.d.ts.map +1 -1
  22. package/dist/models.js +3 -13
  23. package/dist/models.js.map +1 -1
  24. package/dist/paragraph-builder.d.ts +19 -10
  25. package/dist/paragraph-builder.d.ts.map +1 -1
  26. package/dist/paragraph-builder.js +65 -26
  27. package/dist/paragraph-builder.js.map +1 -1
  28. package/dist/pdfdancer_v1.d.ts +202 -0
  29. package/dist/pdfdancer_v1.d.ts.map +1 -0
  30. package/dist/pdfdancer_v1.js +702 -0
  31. package/dist/pdfdancer_v1.js.map +1 -0
  32. package/dist/types.d.ts +56 -0
  33. package/dist/types.d.ts.map +1 -0
  34. package/dist/types.js +92 -0
  35. package/dist/types.js.map +1 -0
  36. package/package.json +1 -1
  37. package/scripts/release.js +1 -1
  38. package/src/__tests__/client-v1.test.ts +46 -87
  39. package/src/__tests__/e2e/acroform.test.ts +60 -57
  40. package/src/__tests__/e2e/form_x_object.test.ts +17 -16
  41. package/src/__tests__/e2e/image.test.ts +53 -56
  42. package/src/__tests__/e2e/line.test.ts +47 -48
  43. package/src/__tests__/e2e/page.test.ts +37 -36
  44. package/src/__tests__/e2e/paragraph.test.ts +107 -101
  45. package/src/__tests__/e2e/path.test.ts +67 -64
  46. package/src/__tests__/e2e/test-helpers.ts +71 -67
  47. package/src/__tests__/e2e/token_from_env.test.ts +35 -0
  48. package/src/image-builder.ts +52 -0
  49. package/src/index.ts +1 -1
  50. package/src/models.ts +5 -21
  51. package/src/paragraph-builder.ts +217 -162
  52. package/src/{client-v1.ts → pdfdancer_v1.ts} +248 -53
  53. package/src/types.ts +133 -0
  54. package/example.ts +0 -99
@@ -0,0 +1,202 @@
1
+ /**
2
+ * PDFDancer TypeScript Client V1
3
+ *
4
+ * A TypeScript client that provides session-based PDF manipulation operations with strict validation.
5
+ */
6
+ import { Font, ObjectType, Position } from './models';
7
+ import { ParagraphBuilder } from './paragraph-builder';
8
+ import { FormFieldObject, FormXObject, ImageObject, ParagraphObject, PathObject, TextLineObject } from "./types";
9
+ import { ImageBuilder } from "./image-builder";
10
+ declare class PageClient {
11
+ private _pageIndex;
12
+ private _client;
13
+ type: ObjectType;
14
+ position: Position;
15
+ internalId: string;
16
+ private _internals;
17
+ constructor(client: PDFDancer, pageIndex: number);
18
+ selectPathsAt(x: number, y: number): Promise<PathObject[]>;
19
+ selectImages(): Promise<ImageObject[]>;
20
+ selectImagesAt(x: number, y: number): Promise<ImageObject[]>;
21
+ delete(): Promise<boolean>;
22
+ private ref;
23
+ selectForms(): Promise<FormXObject[]>;
24
+ selectFormsAt(x: number, y: number): Promise<FormXObject[]>;
25
+ selectFormFields(): Promise<FormFieldObject[]>;
26
+ selectFormFieldsAt(x: number, y: number): Promise<FormFieldObject[]>;
27
+ selectFormFieldsByName(fieldName: string): Promise<FormFieldObject[]>;
28
+ selectParagraphs(): Promise<ParagraphObject[]>;
29
+ selectParagraphsStartingWith(text: string): Promise<ParagraphObject[]>;
30
+ selectParagraphsMatching(pattern: string): Promise<ParagraphObject[]>;
31
+ selectParagraphsAt(x: number, y: number): Promise<ParagraphObject[]>;
32
+ selectTextLinesStartingWith(text: string): Promise<TextLineObject[]>;
33
+ /**
34
+ * Creates a new ParagraphBuilder for fluent paragraph construction.
35
+ */
36
+ newParagraph(): ParagraphBuilder;
37
+ selectTextLines(): Promise<TextLineObject[]>;
38
+ selectTextLinesMatching(pattern: string): Promise<TextLineObject[]>;
39
+ selectTextLinesAt(x: number, y: number): Promise<TextLineObject[]>;
40
+ }
41
+ /**
42
+ * REST API client for interacting with the PDFDancer PDF manipulation service.
43
+ * This client provides a convenient TypeScript interface for performing PDF operations
44
+ * including session management, object searching, manipulation, and retrieval.
45
+ * Handles authentication, session lifecycle, and HTTP communication transparently.
46
+ *
47
+ */
48
+ export declare class PDFDancer {
49
+ private _token;
50
+ private _baseUrl;
51
+ private _readTimeout;
52
+ private _pdfBytes;
53
+ private _sessionId;
54
+ /**
55
+ * Creates a new client with PDF data.
56
+ * This constructor initializes the client, uploads the PDF data to open
57
+ * a new session, and prepares the client for PDF manipulation operations.
58
+ */
59
+ private constructor();
60
+ /**
61
+ * Initialize the client by creating a session.
62
+ * Must be called after constructor before using the client.
63
+ */
64
+ private init;
65
+ static open(pdfData: Uint8Array, token?: string, baseUrl?: string, timeout?: number): Promise<PDFDancer>;
66
+ /**
67
+ * Process PDF data from various input types with strict validation.
68
+ */
69
+ private _processPdfData;
70
+ /**
71
+ * Extract meaningful error messages from API response.
72
+ * Parses JSON error responses with _embedded.errors structure.
73
+ */
74
+ private _extractErrorMessage;
75
+ /**
76
+ * Creates a new PDF processing session by uploading the PDF data.
77
+ */
78
+ private _createSession;
79
+ /**
80
+ * Make HTTP request with session headers and error handling.
81
+ */
82
+ private _makeRequest;
83
+ /**
84
+ * Searches for PDF objects matching the specified criteria.
85
+ * This method provides flexible search capabilities across all PDF content,
86
+ * allowing filtering by object type and position constraints.
87
+ */
88
+ private find;
89
+ /**
90
+ * Searches for paragraph objects at the specified position.
91
+ */
92
+ private findParagraphs;
93
+ /**
94
+ * Searches for image objects at the specified position.
95
+ */
96
+ private _findImages;
97
+ selectImages(): Promise<ImageObject[]>;
98
+ /**
99
+ * Searches for form X objects at the specified position.
100
+ */
101
+ private findFormXObjects;
102
+ /**
103
+ * Searches for vector path objects at the specified position.
104
+ */
105
+ private findPaths;
106
+ selectPaths(): Promise<PathObject[]>;
107
+ selectForms(): Promise<FormXObject[]>;
108
+ selectFormFields(): Promise<FormFieldObject[]>;
109
+ selectFieldsByName(fieldName: string): Promise<FormFieldObject[]>;
110
+ /**
111
+ * Searches for text line objects at the specified position.
112
+ */
113
+ private findTextLines;
114
+ /**
115
+ * Searches for form fields at the specified position.
116
+ * Returns FormFieldRef objects with name and value properties.
117
+ */
118
+ private findFormFields;
119
+ /**
120
+ * Retrieves references to all pages in the PDF document.
121
+ */
122
+ private getPages;
123
+ /**
124
+ * Retrieves a reference to a specific page by its page index.
125
+ */
126
+ private _getPage;
127
+ /**
128
+ * Deletes a page from the PDF document.
129
+ */
130
+ private deletePage;
131
+ /**
132
+ * Deletes the specified PDF object from the document.
133
+ */
134
+ private delete;
135
+ /**
136
+ * Moves a PDF object to a new position within the document.
137
+ */
138
+ private move;
139
+ /**
140
+ * Changes the value of a form field.
141
+ */
142
+ private changeFormField;
143
+ /**
144
+ * Adds an image to the PDF document.
145
+ */
146
+ private addImage;
147
+ /**
148
+ * Adds a paragraph to the PDF document.
149
+ */
150
+ private addParagraph;
151
+ /**
152
+ * Internal method to add any PDF object.
153
+ */
154
+ private _addObject;
155
+ /**
156
+ * Modifies a paragraph object or its text content.
157
+ */
158
+ private modifyParagraph;
159
+ /**
160
+ * Modifies a text line object.
161
+ */
162
+ private modifyTextLine;
163
+ /**
164
+ * Finds available fonts matching the specified name and size.
165
+ */
166
+ findFonts(fontName: string, fontSize: number): Promise<Font[]>;
167
+ /**
168
+ * Registers a custom font for use in PDF operations.
169
+ */
170
+ registerFont(ttfFile: Uint8Array | File): Promise<string>;
171
+ /**
172
+ * Downloads the current state of the PDF document with all modifications applied.
173
+ */
174
+ getPdfFile(): Promise<Uint8Array>;
175
+ /**
176
+ * Saves the current PDF to a file (browser environment).
177
+ * Downloads the PDF in the browser.
178
+ */
179
+ save(filename: string): Promise<void>;
180
+ /**
181
+ * Parse JSON object data into ObjectRef instance.
182
+ */
183
+ private _parseObjectRef;
184
+ private _parseFormFieldRef;
185
+ /**
186
+ * Parse JSON position data into Position instance.
187
+ */
188
+ private _parsePosition;
189
+ private toPathObjects;
190
+ private toFormXObjects;
191
+ private toImageObjects;
192
+ newImage(): ImageBuilder;
193
+ page(pageIndex: number): PageClient;
194
+ pages(): Promise<PageClient[]>;
195
+ private toFormFields;
196
+ selectParagraphs(): Promise<ParagraphObject[]>;
197
+ private toParagraphObjects;
198
+ private toTextLineObjects;
199
+ selectLines(): Promise<TextLineObject[]>;
200
+ }
201
+ export {};
202
+ //# sourceMappingURL=pdfdancer_v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdfdancer_v1.d.ts","sourceRoot":"","sources":["../src/pdfdancer_v1.ts"],"names":[],"mappings":"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"}