pdfdancer-client-python 0.2.20__tar.gz → 0.2.21__tar.gz

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 (69) hide show
  1. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/PKG-INFO +1 -1
  2. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/docs/openapi.yml +224 -30
  3. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/pyproject.toml +1 -1
  4. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/models.py +99 -23
  5. pdfdancer_client_python-0.2.21/src/pdfdancer/paragraph_builder.py +502 -0
  6. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/pdfdancer_v1.py +13 -8
  7. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/types.py +112 -103
  8. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer_client_python.egg-info/PKG-INFO +1 -1
  9. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer_client_python.egg-info/SOURCES.txt +1 -1
  10. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_context_manager.py +74 -52
  11. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_image.py +32 -32
  12. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_line.py +26 -47
  13. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_page.py +42 -41
  14. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_paragraph.py +94 -80
  15. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_pdfdancer.py +1 -1
  16. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_snapshot.py +15 -15
  17. pdfdancer_client_python-0.2.21/tests/fixtures/Showcase.pdf +0 -0
  18. pdfdancer_client_python-0.2.20/src/pdfdancer/paragraph_builder.py +0 -287
  19. pdfdancer_client_python-0.2.20/tests/fixtures/ObviouslyAwesome.pdf +0 -0
  20. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/.claude/commands/discuss.md +0 -0
  21. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/.github/workflows/ci.yml +0 -0
  22. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/.gitignore +0 -0
  23. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/CLAUDE.md +0 -0
  24. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/LICENSE +0 -0
  25. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/NOTICE +0 -0
  26. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/README.md +0 -0
  27. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/TODO.md +0 -0
  28. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/release.py +0 -0
  29. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/setup.cfg +0 -0
  30. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/__init__.py +0 -0
  31. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/exceptions.py +0 -0
  32. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/fingerprint.py +0 -0
  33. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/image_builder.py +0 -0
  34. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/page_builder.py +0 -0
  35. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer/path_builder.py +0 -0
  36. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer_client_python.egg-info/dependency_links.txt +0 -0
  37. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer_client_python.egg-info/requires.txt +0 -0
  38. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/src/pdfdancer_client_python.egg-info/top_level.txt +0 -0
  39. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/test.sh +0 -0
  40. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/__init__.py +0 -0
  41. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/conftest.py +0 -0
  42. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/__init__.py +0 -0
  43. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/pdf_assertions.py +0 -0
  44. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_acroform.py +0 -0
  45. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_bezier_builder.py +0 -0
  46. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_form_x_objects.py +0 -0
  47. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_line_builder.py +0 -0
  48. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_new_pdf.py +0 -0
  49. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_path.py +0 -0
  50. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_path_builder.py +0 -0
  51. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_path_builder_rectangle.py +0 -0
  52. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_path_comprehensive.py +0 -0
  53. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_positioning.py +0 -0
  54. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/e2e/test_rectangle_builder.py +0 -0
  55. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/fixtures/DancingScript-Regular.ttf +0 -0
  56. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/fixtures/Empty.pdf +0 -0
  57. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/fixtures/JetBrainsMono-Regular.ttf +0 -0
  58. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/fixtures/basic-paths.pdf +0 -0
  59. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/fixtures/form-xobject-example.pdf +0 -0
  60. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/fixtures/logo-80.png +0 -0
  61. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/fixtures/mixed-form-types.pdf +0 -0
  62. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/test_anonymous_token.py +0 -0
  63. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/test_fingerprint.py +0 -0
  64. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/test_models.py +0 -0
  65. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/test_openapi_compliance.py +0 -0
  66. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/test_path_models.py +0 -0
  67. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/test_pdf_object_equality.py +0 -0
  68. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/tests/test_standard_fonts.py +0 -0
  69. {pdfdancer_client_python-0.2.20 → pdfdancer_client_python-0.2.21}/update-api-spec.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pdfdancer-client-python
3
- Version: 0.2.20
3
+ Version: 0.2.21
4
4
  Summary: Python client for PDFDancer API
5
5
  Author-email: "The Famous Cat Ltd." <hi@thefamouscat.com>
6
6
  License:
@@ -172,8 +172,46 @@ paths:
172
172
  application/json:
173
173
  schema:
174
174
  type: string
175
+ /keys/anon:
176
+ post:
177
+ operationId: issueAnonymousKey
178
+ parameters:
179
+ - name: X-Fingerprint
180
+ in: header
181
+ required: true
182
+ schema:
183
+ type: string
184
+ - name: v
185
+ in: query
186
+ description: API version
187
+ schema:
188
+ type: string
189
+ - name: api-version
190
+ in: query
191
+ description: API version
192
+ schema:
193
+ type: string
194
+ - name: X-API-VERSION
195
+ in: header
196
+ description: API version
197
+ schema:
198
+ type: string
199
+ - name: Accept-Version
200
+ in: header
201
+ description: API version
202
+ schema:
203
+ type: string
204
+ responses:
205
+ "200":
206
+ description: issueAnonymousKey 200 response
207
+ content:
208
+ application/json:
209
+ schema:
210
+ $ref: "#/components/schemas/ApiTokenCreateResponse"
175
211
  /me/tenant:
176
212
  get:
213
+ summary: Get current user's tenant information.
214
+ description: Get current user's tenant information.
177
215
  operationId: getTenant
178
216
  parameters:
179
217
  - name: v
@@ -198,13 +236,15 @@ paths:
198
236
  type: string
199
237
  responses:
200
238
  "200":
201
- description: getTenant 200 response
239
+ description: User's tenant with role
202
240
  content:
203
241
  application/json:
204
242
  schema:
205
243
  $ref: "#/components/schemas/UserTenantResponse"
206
244
  /me/tokens:
207
245
  get:
246
+ summary: List all API tokens for user's tenant.
247
+ description: List all API tokens for user's tenant.
208
248
  operationId: listTokens
209
249
  parameters:
210
250
  - name: v
@@ -229,7 +269,7 @@ paths:
229
269
  type: string
230
270
  responses:
231
271
  "200":
232
- description: listTokens 200 response
272
+ description: List of API tokens (without raw token values)
233
273
  content:
234
274
  application/json:
235
275
  schema:
@@ -237,6 +277,8 @@ paths:
237
277
  items:
238
278
  $ref: "#/components/schemas/ApiTokenListResponse"
239
279
  post:
280
+ summary: Create a new API token for user's tenant.
281
+ description: Create a new API token for user's tenant.
240
282
  operationId: createToken
241
283
  parameters:
242
284
  - name: v
@@ -260,6 +302,7 @@ paths:
260
302
  schema:
261
303
  type: string
262
304
  requestBody:
305
+ description: token creation request
263
306
  content:
264
307
  application/json:
265
308
  schema:
@@ -267,17 +310,20 @@ paths:
267
310
  required: true
268
311
  responses:
269
312
  "200":
270
- description: createToken 200 response
313
+ description: Created token with raw token value (shown only once)
271
314
  content:
272
315
  application/json:
273
316
  schema:
274
317
  $ref: "#/components/schemas/ApiTokenCreateResponse"
275
318
  /me/tokens/{tokenId}:
276
319
  get:
320
+ summary: Get a single API token by ID.
321
+ description: Get a single API token by ID.
277
322
  operationId: getToken
278
323
  parameters:
279
324
  - name: tokenId
280
325
  in: path
326
+ description: token ID to retrieve
281
327
  required: true
282
328
  schema:
283
329
  type: string
@@ -303,16 +349,19 @@ paths:
303
349
  type: string
304
350
  responses:
305
351
  "200":
306
- description: getToken 200 response
352
+ description: Token details (without raw token value)
307
353
  content:
308
354
  application/json:
309
355
  schema:
310
356
  $ref: "#/components/schemas/ApiTokenListResponse"
311
357
  delete:
358
+ summary: Revoke an API token.
359
+ description: Revoke an API token.
312
360
  operationId: revokeToken
313
361
  parameters:
314
362
  - name: tokenId
315
363
  in: path
364
+ description: token ID to revoke
316
365
  required: true
317
366
  schema:
318
367
  type: string
@@ -338,7 +387,7 @@ paths:
338
387
  type: string
339
388
  responses:
340
389
  "200":
341
- description: revokeToken 200 response
390
+ description: 204 No Content on success
342
391
  /pdf/add:
343
392
  post:
344
393
  summary: Adds new objects to the PDF document.
@@ -708,6 +757,12 @@ paths:
708
757
  description: API version
709
758
  schema:
710
759
  type: string
760
+ requestBody:
761
+ content:
762
+ application/json:
763
+ schema:
764
+ $ref: "#/components/schemas/AddPageRequest"
765
+ required: true
711
766
  responses:
712
767
  "200":
713
768
  description: HTTP response containing the object reference for the newly
@@ -1053,6 +1108,10 @@ paths:
1053
1108
  $ref: "#/components/schemas/CommandResult"
1054
1109
  /ping:
1055
1110
  get:
1111
+ summary: Basic health check endpoint that confirms server availability.
1112
+ description: Basic health check endpoint that confirms server availability.
1113
+ This endpoint provides a simple way for monitoring systems to verify that
1114
+ the API server is running and capable of handling requests.
1056
1115
  operationId: index
1057
1116
  parameters:
1058
1117
  - name: v
@@ -1077,7 +1136,7 @@ paths:
1077
1136
  type: string
1078
1137
  responses:
1079
1138
  "200":
1080
- description: index 200 response
1139
+ description: a simple "Pong" response indicating the server is operational
1081
1140
  content:
1082
1141
  text/plain:
1083
1142
  schema:
@@ -1369,6 +1428,12 @@ paths:
1369
1428
  format: binary
1370
1429
  /test:
1371
1430
  get:
1431
+ summary: Authenticated test endpoint that verifies API token authentication
1432
+ is working.
1433
+ description: Authenticated test endpoint that verifies API token authentication
1434
+ is working. This endpoint requires a valid API token (Bearer) and serves as
1435
+ a way to test that the authentication mechanism is functioning properly without
1436
+ affecting any actual application data.
1372
1437
  operationId: test
1373
1438
  parameters:
1374
1439
  - name: v
@@ -1393,7 +1458,7 @@ paths:
1393
1458
  type: string
1394
1459
  responses:
1395
1460
  "200":
1396
- description: test 200 response
1461
+ description: a confirmation message indicating successful authentication
1397
1462
  content:
1398
1463
  text/plain:
1399
1464
  schema:
@@ -1499,6 +1564,20 @@ paths:
1499
1564
  format: binary
1500
1565
  components:
1501
1566
  schemas:
1567
+ AddPageRequest:
1568
+ required:
1569
+ - orientation
1570
+ - pageIndex
1571
+ - pageSize
1572
+ type: object
1573
+ properties:
1574
+ pageIndex:
1575
+ type: integer
1576
+ format: int32
1577
+ orientation:
1578
+ $ref: "#/components/schemas/Orientation"
1579
+ pageSize:
1580
+ $ref: "#/components/schemas/PageSize"
1502
1581
  AddRequest:
1503
1582
  required:
1504
1583
  - object
@@ -1520,6 +1599,7 @@ components:
1520
1599
  type: string
1521
1600
  expiresAt:
1522
1601
  type: string
1602
+ description: Request to create a new API token.
1523
1603
  ApiTokenCreateResponse:
1524
1604
  required:
1525
1605
  - metadata
@@ -1530,6 +1610,8 @@ components:
1530
1610
  type: string
1531
1611
  metadata:
1532
1612
  $ref: "#/components/schemas/ApiTokenCreateResponse.ApiTokenMetadata"
1613
+ description: Response when creating a new API token. Contains the raw token
1614
+ (shown only once) plus metadata.
1533
1615
  ApiTokenCreateResponse.ApiTokenMetadata:
1534
1616
  required:
1535
1617
  - createdAt
@@ -1571,6 +1653,7 @@ components:
1571
1653
  type: string
1572
1654
  expiresAt:
1573
1655
  type: string
1656
+ description: Response for listing API tokens (does not include the raw token).
1574
1657
  Authentication:
1575
1658
  required:
1576
1659
  - attributes
@@ -1632,19 +1715,31 @@ components:
1632
1715
  type: object
1633
1716
  properties:
1634
1717
  origin:
1635
- $ref: "#/components/schemas/Point"
1718
+ description: Returns the origin point of this bounding rectangle. The origin
1719
+ represents the bottom-left corner in PDF coordinate system.
1720
+ allOf:
1721
+ - $ref: "#/components/schemas/Point"
1636
1722
  x:
1637
1723
  type: number
1724
+ description: X-coordinate of the rectangle's origin (left edge).
1638
1725
  format: double
1639
1726
  "y":
1640
1727
  type: number
1728
+ description: Y-coordinate of the rectangle's origin (bottom edge in PDF
1729
+ coordinates).
1641
1730
  format: double
1642
1731
  width:
1643
1732
  type: number
1733
+ description: Width of the rectangle extending rightward from the origin.
1644
1734
  format: double
1645
1735
  height:
1646
1736
  type: number
1737
+ description: Height of the rectangle extending upward from the origin.
1647
1738
  format: double
1739
+ description: "Represents a rectangular area defined by getPosition and dimensions.\
1740
+ \ This class encapsulates bounding box information for PDF objects, providing\
1741
+ \ spatial extent data used for positioning, collision detection, and layout\
1742
+ \ operations within PDF documents."
1648
1743
  ChangeFormFieldRequest:
1649
1744
  required:
1650
1745
  - ref
@@ -1660,16 +1755,26 @@ components:
1660
1755
  properties:
1661
1756
  red:
1662
1757
  type: integer
1758
+ description: Red color component (0-255).
1663
1759
  format: int32
1664
1760
  green:
1665
1761
  type: integer
1762
+ description: Green color component (0-255).
1666
1763
  format: int32
1667
1764
  blue:
1668
1765
  type: integer
1766
+ description: Blue color component (0-255).
1669
1767
  format: int32
1670
1768
  alpha:
1671
1769
  type: integer
1770
+ description: "Alpha (transparency) component (0-255, where 255 is fully\
1771
+ \ opaque)."
1672
1772
  format: int32
1773
+ description: "Represents color information using RGBA (Red, Green, Blue, Alpha)\
1774
+ \ color model. This class encapsulates color data for PDF objects, supporting\
1775
+ \ both opaque and transparent colors with integer values ranging from 0-255\
1776
+ \ for each component. Provides convenient constructors and utility methods\
1777
+ \ for color manipulation."
1673
1778
  CommandResult:
1674
1779
  required:
1675
1780
  - commandName
@@ -1703,6 +1808,7 @@ components:
1703
1808
  initialPageCount:
1704
1809
  type: integer
1705
1810
  format: int32
1811
+ description: Request to create a new blank PDF session.
1706
1812
  DeleteRequest:
1707
1813
  required:
1708
1814
  - objectRef
@@ -1713,6 +1819,16 @@ components:
1713
1819
  description: Request record for deleting PDF objects from a document. This immutable
1714
1820
  record encapsulates the object reference needed to identify and remove specific
1715
1821
  PDF objects from a document during editing operations.
1822
+ DocumentFontInfoDto:
1823
+ required:
1824
+ - documentFontName
1825
+ - systemFontName
1826
+ type: object
1827
+ properties:
1828
+ documentFontName:
1829
+ type: string
1830
+ systemFontName:
1831
+ type: string
1716
1832
  DocumentSnapshot:
1717
1833
  required:
1718
1834
  - fonts
@@ -1726,7 +1842,7 @@ components:
1726
1842
  fonts:
1727
1843
  type: array
1728
1844
  items:
1729
- $ref: "#/components/schemas/FontRecommendationDto"
1845
+ $ref: "#/components/schemas/DocumentFontInfoDto"
1730
1846
  pages:
1731
1847
  type: array
1732
1848
  items:
@@ -1748,30 +1864,27 @@ components:
1748
1864
  $ref: "#/components/schemas/Position"
1749
1865
  hint:
1750
1866
  type: string
1867
+ description: "Request record for searching PDF objects within a document. This\
1868
+ \ immutable record encapsulates search criteria for locating PDF objects based\
1869
+ \ on type, getPosition constraints, and optional search hints, enabling flexible\
1870
+ \ and efficient object discovery within PDF documents."
1751
1871
  Font:
1752
1872
  type: object
1753
1873
  properties:
1754
1874
  name:
1755
1875
  type: string
1876
+ description: "Font family name (e.g., \"Arial\", \"Times New Roman\", \"\
1877
+ Helvetica\")."
1756
1878
  size:
1757
1879
  type: number
1880
+ description: Font size in points.
1758
1881
  format: double
1759
1882
  embedded:
1760
1883
  type: boolean
1761
- FontRecommendationDto:
1762
- required:
1763
- - fontName
1764
- - fontType
1765
- - similarityScore
1766
- type: object
1767
- properties:
1768
- fontName:
1769
- type: string
1770
- fontType:
1771
- $ref: "#/components/schemas/FontType"
1772
- similarityScore:
1773
- type: number
1774
- format: double
1884
+ description: "Represents font properties for text rendering in PDF documents.\
1885
+ \ This class encapsulates font characteristics including typeface name, size,\
1886
+ \ and styling attributes such as bold, italic, and underline formatting. Used\
1887
+ \ throughout the API for consistent text formatting and style management."
1775
1888
  FontType:
1776
1889
  type: string
1777
1890
  enum:
@@ -1962,10 +2075,35 @@ components:
1962
2075
  - $ref: "#/components/schemas/FormFieldRef"
1963
2076
  ObjectType:
1964
2077
  type: string
2078
+ description: "Enumeration of PDF object types supported by the PDFDancer API.\
2079
+ \ This enum categorizes the different types of objects that can exist within\
2080
+ \ a PDF document, enabling type-safe operations and filtering across the API.\
2081
+ \ Each type represents a distinct category of PDF content with specific manipulation\
2082
+ \ capabilities and properties."
2083
+ x-enum-descriptions:
2084
+ - Root PDF document object containing all pages and metadata
2085
+ - Individual page within the PDF document
2086
+ - Single character or glyph element
2087
+ - Text paragraph or block element
2088
+ - Embedded image or graphics element
2089
+ - Vector path or shape element
2090
+ - Linear path segment
2091
+ - Rectangular shape element
2092
+ - Bezier curve path element
2093
+ - Clipping region or mask
2094
+ - FormXObject container
2095
+ - Interactive acroform field element
2096
+ - ""
2097
+ - ""
2098
+ - ""
2099
+ - ""
2100
+ - ""
2101
+ - ""
2102
+ - ""
1965
2103
  enum:
1966
2104
  - PDF
1967
2105
  - PAGE
1968
- - CHARACTER
2106
+ - TEXT_ELEMENT
1969
2107
  - PARAGRAPH
1970
2108
  - IMAGE
1971
2109
  - PATH
@@ -1984,6 +2122,10 @@ components:
1984
2122
  - CHECKBOX
1985
2123
  Orientation:
1986
2124
  type: string
2125
+ description: Enumeration of page orientations.
2126
+ x-enum-descriptions:
2127
+ - Portrait orientation (height \> width)
2128
+ - Landscape orientation (width \> height)
1987
2129
  enum:
1988
2130
  - PORTRAIT
1989
2131
  - LANDSCAPE
@@ -2041,6 +2183,10 @@ components:
2041
2183
  toPageIndex:
2042
2184
  type: integer
2043
2185
  format: int32
2186
+ description: "Request record for reordering pages within a PDF document. This\
2187
+ \ immutable record specifies a page movement operation, defining which page\
2188
+ \ should be moved and where it should be repositioned in the document's page\
2189
+ \ sequence."
2044
2190
  PageRef:
2045
2191
  required:
2046
2192
  - orientation
@@ -2065,9 +2211,12 @@ components:
2065
2211
  height:
2066
2212
  type: number
2067
2213
  format: double
2214
+ description: "Represents PDF page dimensions, supporting both standard sizes\
2215
+ \ and custom dimensions. Dimensions are specified in points (1/72 inch)."
2068
2216
  PageSnapshot:
2069
2217
  required:
2070
2218
  - elements
2219
+ - fonts
2071
2220
  - pageRef
2072
2221
  type: object
2073
2222
  properties:
@@ -2077,6 +2226,10 @@ components:
2077
2226
  type: array
2078
2227
  items:
2079
2228
  $ref: "#/components/schemas/ObjectRef"
2229
+ fonts:
2230
+ type: array
2231
+ items:
2232
+ $ref: "#/components/schemas/DocumentFontInfoDto"
2080
2233
  description: "Represents a complete snapshot of a single PDF page including\
2081
2234
  \ its metadata and all elements. This response aggregates page information\
2082
2235
  \ and all contained objects (paragraphs, images, etc.) into a single response,\
@@ -2188,6 +2341,10 @@ components:
2188
2341
  "y":
2189
2342
  type: number
2190
2343
  format: double
2344
+ description: "Immutable point record representing 2D coordinates. This record\
2345
+ \ provides a simple and efficient way to represent coordinate pairs within\
2346
+ \ PDF documents, with conversion utilities for interoperability with Java's\
2347
+ \ standard geometry classes."
2191
2348
  Position:
2192
2349
  type: object
2193
2350
  properties:
@@ -2199,26 +2356,54 @@ components:
2199
2356
  type: string
2200
2357
  x:
2201
2358
  type: number
2359
+ description: "Returns the X coordinate of this getPosition. If no bounding\
2360
+ \ rectangle is defined, returns -1 as a sentinel value."
2202
2361
  format: double
2203
2362
  "y":
2204
2363
  type: number
2364
+ description: "Returns the Y coordinate of this getPosition. If no bounding\
2365
+ \ rectangle is defined, returns -1 as a sentinel value."
2205
2366
  format: double
2206
2367
  pageIndex:
2207
2368
  type: integer
2369
+ description: Returns the page number where this getPosition is located.
2208
2370
  format: int32
2209
2371
  shape:
2210
- $ref: "#/components/schemas/Position.ShapeType"
2372
+ description: Returns the geometric shape type of this getPosition.
2373
+ allOf:
2374
+ - $ref: "#/components/schemas/Position.ShapeType"
2211
2375
  mode:
2212
- $ref: "#/components/schemas/Position.PositionMode"
2376
+ description: Returns the getPosition matching mode.
2377
+ allOf:
2378
+ - $ref: "#/components/schemas/Position.PositionMode"
2213
2379
  boundingRect:
2214
- $ref: "#/components/schemas/BoundingRect"
2380
+ description: Returns the bounding rectangle defining the spatial extent
2381
+ of this getPosition.
2382
+ allOf:
2383
+ - $ref: "#/components/schemas/BoundingRect"
2384
+ description: "Represents spatial positioning and location information for PDF\
2385
+ \ objects. This class encapsulates various ways to specify object locations\
2386
+ \ within PDF documents, including page-based coordinates, bounding rectangles,\
2387
+ \ and different positioning modes. It supports both precise coordinate positioning\
2388
+ \ and area-based location specifications."
2215
2389
  Position.PositionMode:
2216
2390
  type: string
2391
+ description: Defines how getPosition matching should be performed when searching
2392
+ for objects.
2393
+ x-enum-descriptions:
2394
+ - Objects that intersect with the specified getPosition area
2395
+ - Objects completely contained within the specified getPosition area
2217
2396
  enum:
2218
2397
  - INTERSECT
2219
2398
  - CONTAINS
2220
2399
  Position.ShapeType:
2221
2400
  type: string
2401
+ description: Defines the geometric shape type used for getPosition specification.
2402
+ x-enum-descriptions:
2403
+ - Single point coordinate
2404
+ - Linear shape between two points
2405
+ - Circular area with radius
2406
+ - Rectangular area with width and height
2222
2407
  enum:
2223
2408
  - POINT
2224
2409
  - LINE
@@ -2278,13 +2463,21 @@ components:
2278
2463
  properties:
2279
2464
  width:
2280
2465
  type: number
2466
+ description: Returns the width dimension.
2281
2467
  format: double
2282
2468
  height:
2283
2469
  type: number
2470
+ description: Returns the height dimension.
2284
2471
  format: double
2285
2472
  area:
2286
2473
  type: number
2474
+ description: "Calculates and returns the total area. This method computes\
2475
+ \ the area by multiplying width and height, useful for size comparisons\
2476
+ \ and layout calculations."
2287
2477
  format: double
2478
+ description: "Represents dimensional measurements with width and height properties.\
2479
+ \ This class encapsulates size information for PDF objects (images, forms,\
2480
+ \ etc.), providing both individual dimension access and calculated area methods."
2288
2481
  Subscription:
2289
2482
  required:
2290
2483
  - end
@@ -2357,7 +2550,6 @@ components:
2357
2550
  type: string
2358
2551
  TextStatus:
2359
2552
  required:
2360
- - fontRecommendation
2361
2553
  - fontType
2362
2554
  type: object
2363
2555
  properties:
@@ -2367,12 +2559,13 @@ components:
2367
2559
  type: boolean
2368
2560
  fontType:
2369
2561
  $ref: "#/components/schemas/FontType"
2370
- fontRecommendation:
2371
- $ref: "#/components/schemas/FontRecommendationDto"
2562
+ fontInfoDto:
2563
+ $ref: "#/components/schemas/DocumentFontInfoDto"
2372
2564
  warning:
2373
2565
  type: string
2374
2566
  TextTypeObjectRef:
2375
2567
  required:
2568
+ - children
2376
2569
  - color
2377
2570
  - fontName
2378
2571
  - fontSize
@@ -2434,6 +2627,7 @@ components:
2434
2627
  type: string
2435
2628
  status:
2436
2629
  type: string
2630
+ description: Response containing user's tenant information with their role.
2437
2631
  VersionResponse:
2438
2632
  required:
2439
2633
  - color
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pdfdancer-client-python"
7
- version = "0.2.20"
7
+ version = "0.2.21"
8
8
  description = "Python client for PDFDancer API"
9
9
  readme = "README.md"
10
10
  authors = [