pdfdancer-client-typescript 2.0.5 → 2.0.7
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.
- package/README.md +10 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +9 -2
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +23 -1
- package/dist/models.js.map +1 -1
- package/dist/pdfdancer_v1.d.ts +14 -0
- package/dist/pdfdancer_v1.d.ts.map +1 -1
- package/dist/pdfdancer_v1.js +65 -1
- package/dist/pdfdancer_v1.js.map +1 -1
- package/dist/replacement-builder.d.ts +78 -0
- package/dist/replacement-builder.d.ts.map +1 -0
- package/dist/replacement-builder.js +117 -0
- package/dist/replacement-builder.js.map +1 -0
- package/dist/types.d.ts +38 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +158 -2
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/__tests__/assertions.d.ts +0 -2
- package/dist/__tests__/assertions.d.ts.map +0 -1
- package/dist/__tests__/assertions.js +0 -11
- package/dist/__tests__/assertions.js.map +0 -1
- package/dist/__tests__/e2e/pdf-assertions.d.ts +0 -36
- package/dist/__tests__/e2e/pdf-assertions.d.ts.map +0 -1
- package/dist/__tests__/e2e/pdf-assertions.js +0 -218
- package/dist/__tests__/e2e/pdf-assertions.js.map +0 -1
- package/dist/__tests__/e2e/test-drawing-helpers.d.ts +0 -148
- package/dist/__tests__/e2e/test-drawing-helpers.d.ts.map +0 -1
- package/dist/__tests__/e2e/test-drawing-helpers.js +0 -343
- package/dist/__tests__/e2e/test-drawing-helpers.js.map +0 -1
- package/dist/__tests__/e2e/test-helpers.d.ts +0 -44
- package/dist/__tests__/e2e/test-helpers.d.ts.map +0 -1
- package/dist/__tests__/e2e/test-helpers.js +0 -233
- package/dist/__tests__/e2e/test-helpers.js.map +0 -1
- package/dist/client-v1.d.ts +0 -157
- package/dist/client-v1.d.ts.map +0 -1
- package/dist/client-v1.js +0 -576
- package/dist/client-v1.js.map +0 -1
- package/dist/client-v2.d.ts +0 -129
- package/dist/client-v2.d.ts.map +0 -1
- package/dist/client-v2.js +0 -696
- package/dist/client-v2.js.map +0 -1
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Drawing Helpers
|
|
3
|
-
*
|
|
4
|
-
* Utilities for drawing coordinate grids and bounding boxes on PDFs
|
|
5
|
-
* to help with visual debugging and testing.
|
|
6
|
-
*/
|
|
7
|
-
import { Color, PDFDancer, Position } from "../../index";
|
|
8
|
-
/**
|
|
9
|
-
* Represents any PDF object that has a position property.
|
|
10
|
-
* This includes BaseObject subclasses like ParagraphObject, TextLineObject, etc.
|
|
11
|
-
*/
|
|
12
|
-
export interface PositionedObject {
|
|
13
|
-
position: Position;
|
|
14
|
-
}
|
|
15
|
-
export interface GridOptions {
|
|
16
|
-
/** Starting X coordinate (default: 0) */
|
|
17
|
-
startX?: number;
|
|
18
|
-
/** Starting Y coordinate (default: 0) */
|
|
19
|
-
startY?: number;
|
|
20
|
-
/** Ending X coordinate (default: page width) */
|
|
21
|
-
endX?: number;
|
|
22
|
-
/** Ending Y coordinate (default: page height) */
|
|
23
|
-
endY?: number;
|
|
24
|
-
/** Grid spacing in points (default: 50) */
|
|
25
|
-
spacing?: number;
|
|
26
|
-
/** Major grid line interval (default: 100) */
|
|
27
|
-
majorInterval?: number;
|
|
28
|
-
/** Grid line color (default: light gray) */
|
|
29
|
-
gridColor?: Color;
|
|
30
|
-
/** Major grid line color (default: medium gray) */
|
|
31
|
-
majorGridColor?: Color;
|
|
32
|
-
/** Label color (default: dark gray) */
|
|
33
|
-
labelColor?: Color;
|
|
34
|
-
/** Font size for labels (default: 8) */
|
|
35
|
-
fontSize?: number;
|
|
36
|
-
/** Page index to draw on (default: 0) */
|
|
37
|
-
pageIndex?: number;
|
|
38
|
-
/** Show labels (default: true) */
|
|
39
|
-
showLabels?: boolean;
|
|
40
|
-
}
|
|
41
|
-
export interface BoundingBoxOptions {
|
|
42
|
-
/** Bounding box color (default: red) */
|
|
43
|
-
color?: Color;
|
|
44
|
-
/** Line width (default: 1) */
|
|
45
|
-
lineWidth?: number;
|
|
46
|
-
/** Dash pattern (default: solid line) */
|
|
47
|
-
dashPattern?: number[];
|
|
48
|
-
/** Show corner markers (default: true) */
|
|
49
|
-
showCorners?: boolean;
|
|
50
|
-
/** Corner marker size (default: 3) */
|
|
51
|
-
cornerSize?: number;
|
|
52
|
-
/** Show dimensions label (default: true) */
|
|
53
|
-
showDimensions?: boolean;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Draws a coordinate grid on the specified page of a PDF.
|
|
57
|
-
* Useful for understanding coordinate systems and positioning.
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```typescript
|
|
61
|
-
* await drawCoordinateGrid(pdf, {
|
|
62
|
-
* pageIndex: 0,
|
|
63
|
-
* spacing: 50,
|
|
64
|
-
* majorInterval: 100
|
|
65
|
-
* });
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
|
-
export declare function drawCoordinateGrid(pdf: PDFDancer, options?: GridOptions): Promise<void>;
|
|
69
|
-
/**
|
|
70
|
-
* Draws a bounding box around a text element, paragraph, or any object with position information.
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```typescript
|
|
74
|
-
* const paragraph = await pdf.selectParagraph();
|
|
75
|
-
* await drawBoundingBox(pdf, paragraph, {
|
|
76
|
-
* color: new Color(255, 0, 0),
|
|
77
|
-
* showDimensions: true
|
|
78
|
-
* });
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
export declare function drawBoundingBox(pdf: PDFDancer, objectRef: PositionedObject, options?: BoundingBoxOptions): Promise<void>;
|
|
82
|
-
/**
|
|
83
|
-
* Draws bounding boxes around all objects of a specific type on a page.
|
|
84
|
-
*
|
|
85
|
-
* @example
|
|
86
|
-
* ```typescript
|
|
87
|
-
* // Draw boxes around all paragraphs
|
|
88
|
-
* const paragraphs = await pdf.selectParagraphs();
|
|
89
|
-
* await drawBoundingBoxes(pdf, paragraphs, {
|
|
90
|
-
* color: new Color(0, 255, 0)
|
|
91
|
-
* });
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
|
-
export declare function drawBoundingBoxes(pdf: PDFDancer, objectRefs: PositionedObject[], options?: BoundingBoxOptions): Promise<void>;
|
|
95
|
-
/**
|
|
96
|
-
* Draws a cross-hair marker at specific coordinates.
|
|
97
|
-
* Useful for marking test points.
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* ```typescript
|
|
101
|
-
* await drawCrosshair(pdf, 100, 200, {
|
|
102
|
-
* color: new Color(0, 0, 255),
|
|
103
|
-
* size: 10
|
|
104
|
-
* });
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
export declare function drawCrosshair(pdf: PDFDancer, x: number, y: number, options?: {
|
|
108
|
-
color?: Color;
|
|
109
|
-
size?: number;
|
|
110
|
-
lineWidth?: number;
|
|
111
|
-
pageIndex?: number;
|
|
112
|
-
label?: string;
|
|
113
|
-
}): Promise<void>;
|
|
114
|
-
/**
|
|
115
|
-
* Highlights the text content of a text object with a semi-transparent background.
|
|
116
|
-
*
|
|
117
|
-
* @example
|
|
118
|
-
* ```typescript
|
|
119
|
-
* const textLine = await pdf.selectTextLine();
|
|
120
|
-
* await highlightText(pdf, textLine, {
|
|
121
|
-
* color: new Color(255, 255, 0, 128) // Yellow with 50% transparency
|
|
122
|
-
* });
|
|
123
|
-
* ```
|
|
124
|
-
*/
|
|
125
|
-
export declare function highlightText(pdf: PDFDancer, textObjectRef: PositionedObject, options?: {
|
|
126
|
-
color?: Color;
|
|
127
|
-
padding?: number;
|
|
128
|
-
}): Promise<void>;
|
|
129
|
-
/**
|
|
130
|
-
* Draws an arrow between two points.
|
|
131
|
-
* Useful for indicating relationships or directions in test visualizations.
|
|
132
|
-
*
|
|
133
|
-
* @example
|
|
134
|
-
* ```typescript
|
|
135
|
-
* await drawArrow(pdf, 100, 100, 200, 200, {
|
|
136
|
-
* color: new Color(0, 0, 255),
|
|
137
|
-
* label: "Move direction"
|
|
138
|
-
* });
|
|
139
|
-
* ```
|
|
140
|
-
*/
|
|
141
|
-
export declare function drawArrow(pdf: PDFDancer, fromX: number, fromY: number, toX: number, toY: number, options?: {
|
|
142
|
-
color?: Color;
|
|
143
|
-
lineWidth?: number;
|
|
144
|
-
arrowSize?: number;
|
|
145
|
-
pageIndex?: number;
|
|
146
|
-
label?: string;
|
|
147
|
-
}): Promise<void>;
|
|
148
|
-
//# sourceMappingURL=test-drawing-helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-drawing-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-drawing-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,343 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Test Drawing Helpers
|
|
4
|
-
*
|
|
5
|
-
* Utilities for drawing coordinate grids and bounding boxes on PDFs
|
|
6
|
-
* to help with visual debugging and testing.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.drawCoordinateGrid = drawCoordinateGrid;
|
|
10
|
-
exports.drawBoundingBox = drawBoundingBox;
|
|
11
|
-
exports.drawBoundingBoxes = drawBoundingBoxes;
|
|
12
|
-
exports.drawCrosshair = drawCrosshair;
|
|
13
|
-
exports.highlightText = highlightText;
|
|
14
|
-
exports.drawArrow = drawArrow;
|
|
15
|
-
const index_1 = require("../../index");
|
|
16
|
-
/**
|
|
17
|
-
* Draws a coordinate grid on the specified page of a PDF.
|
|
18
|
-
* Useful for understanding coordinate systems and positioning.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```typescript
|
|
22
|
-
* await drawCoordinateGrid(pdf, {
|
|
23
|
-
* pageIndex: 0,
|
|
24
|
-
* spacing: 50,
|
|
25
|
-
* majorInterval: 100
|
|
26
|
-
* });
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
async function drawCoordinateGrid(pdf, options = {}) {
|
|
30
|
-
let { startX = 0, startY = 0, endX = 595, // A4 width in points
|
|
31
|
-
endY = 842, // A4 height in points
|
|
32
|
-
spacing = 50, majorInterval = 100, gridColor = new index_1.Color(220, 220, 220), majorGridColor = new index_1.Color(180, 180, 180), labelColor = new index_1.Color(100, 100, 100), fontSize = 8, pageIndex = 0, showLabels = true } = options;
|
|
33
|
-
// Get page size if available and not explicitly set
|
|
34
|
-
if (options.endX === undefined || options.endY === undefined) {
|
|
35
|
-
const pages = await pdf.pages();
|
|
36
|
-
if (pages.length > pageIndex) {
|
|
37
|
-
const pageSize = pages[pageIndex].pageSize;
|
|
38
|
-
if (pageSize) {
|
|
39
|
-
endX = options.endX ?? pageSize.width ?? endX;
|
|
40
|
-
endY = options.endY ?? pageSize.height ?? endY;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// Draw vertical lines
|
|
45
|
-
for (let x = startX; x <= endX; x += spacing) {
|
|
46
|
-
const isMajor = x % majorInterval === 0;
|
|
47
|
-
const color = isMajor ? majorGridColor : gridColor;
|
|
48
|
-
const width = isMajor ? 0.5 : 0.25;
|
|
49
|
-
await pdf.newPath()
|
|
50
|
-
.moveTo(x, startY)
|
|
51
|
-
.lineTo(x, endY)
|
|
52
|
-
.strokeColor(color)
|
|
53
|
-
.strokeWidth(width)
|
|
54
|
-
.at(pageIndex, x, startY)
|
|
55
|
-
.add();
|
|
56
|
-
// Add labels for major lines
|
|
57
|
-
if (isMajor && showLabels) {
|
|
58
|
-
await pdf.newParagraph()
|
|
59
|
-
.text(`${x}`, labelColor)
|
|
60
|
-
.font(index_1.StandardFonts.HELVETICA, fontSize)
|
|
61
|
-
.at(pageIndex, x - 10, startY + 5)
|
|
62
|
-
.add();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
// Draw horizontal lines
|
|
66
|
-
for (let y = startY; y <= endY; y += spacing) {
|
|
67
|
-
const isMajor = y % majorInterval === 0;
|
|
68
|
-
const color = isMajor ? majorGridColor : gridColor;
|
|
69
|
-
const width = isMajor ? 0.5 : 0.25;
|
|
70
|
-
await pdf.newPath()
|
|
71
|
-
.moveTo(startX, y)
|
|
72
|
-
.lineTo(endX, y)
|
|
73
|
-
.strokeColor(color)
|
|
74
|
-
.strokeWidth(width)
|
|
75
|
-
.at(pageIndex, startX, y)
|
|
76
|
-
.add();
|
|
77
|
-
// Add labels for major lines
|
|
78
|
-
if (isMajor && showLabels) {
|
|
79
|
-
await pdf.newParagraph()
|
|
80
|
-
.text(`${y}`, labelColor)
|
|
81
|
-
.font(index_1.StandardFonts.HELVETICA, fontSize)
|
|
82
|
-
.at(pageIndex, startX + 5, y - 2)
|
|
83
|
-
.add();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
// Draw origin marker (0, 0) if it's within the grid bounds
|
|
87
|
-
if (startX <= 0 && endX >= 0 && startY <= 0 && endY >= 0) {
|
|
88
|
-
await pdf.newPath()
|
|
89
|
-
.moveTo(-5, 0)
|
|
90
|
-
.lineTo(5, 0)
|
|
91
|
-
.strokeColor(new index_1.Color(255, 0, 0))
|
|
92
|
-
.strokeWidth(2)
|
|
93
|
-
.at(pageIndex, -5, 0)
|
|
94
|
-
.add();
|
|
95
|
-
await pdf.newPath()
|
|
96
|
-
.moveTo(0, -5)
|
|
97
|
-
.lineTo(0, 5)
|
|
98
|
-
.strokeColor(new index_1.Color(255, 0, 0))
|
|
99
|
-
.strokeWidth(2)
|
|
100
|
-
.at(pageIndex, 0, -5)
|
|
101
|
-
.add();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Draws a bounding box around a text element, paragraph, or any object with position information.
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* ```typescript
|
|
109
|
-
* const paragraph = await pdf.selectParagraph();
|
|
110
|
-
* await drawBoundingBox(pdf, paragraph, {
|
|
111
|
-
* color: new Color(255, 0, 0),
|
|
112
|
-
* showDimensions: true
|
|
113
|
-
* });
|
|
114
|
-
* ```
|
|
115
|
-
*/
|
|
116
|
-
async function drawBoundingBox(pdf, objectRef, options = {}) {
|
|
117
|
-
const { color = new index_1.Color(255, 0, 0), lineWidth = 1, dashPattern, showCorners = true, cornerSize = 3, showDimensions = true } = options;
|
|
118
|
-
const position = objectRef.position;
|
|
119
|
-
if (!position || !position.boundingRect) {
|
|
120
|
-
console.warn('Object has no bounding rectangle, skipping bounding box');
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
const rect = position.boundingRect;
|
|
124
|
-
const pageIndex = position.pageIndex ?? 0;
|
|
125
|
-
const x = rect.x;
|
|
126
|
-
const y = rect.y;
|
|
127
|
-
const width = rect.width;
|
|
128
|
-
const height = rect.height;
|
|
129
|
-
// Draw the main bounding box rectangle
|
|
130
|
-
const pathBuilder = pdf.newPath()
|
|
131
|
-
.moveTo(x, y)
|
|
132
|
-
.lineTo(x + width, y)
|
|
133
|
-
.lineTo(x + width, y + height)
|
|
134
|
-
.lineTo(x, y + height)
|
|
135
|
-
.lineTo(x, y)
|
|
136
|
-
.strokeColor(color)
|
|
137
|
-
.strokeWidth(lineWidth)
|
|
138
|
-
.at(pageIndex, x, y);
|
|
139
|
-
if (dashPattern) {
|
|
140
|
-
pathBuilder.dashPattern(dashPattern);
|
|
141
|
-
}
|
|
142
|
-
await pathBuilder.add();
|
|
143
|
-
// Draw corner markers
|
|
144
|
-
if (showCorners) {
|
|
145
|
-
const corners = [
|
|
146
|
-
{ x, y }, // Bottom-left
|
|
147
|
-
{ x: x + width, y }, // Bottom-right
|
|
148
|
-
{ x: x + width, y: y + height }, // Top-right
|
|
149
|
-
{ x, y: y + height } // Top-left
|
|
150
|
-
];
|
|
151
|
-
for (const corner of corners) {
|
|
152
|
-
// Horizontal line
|
|
153
|
-
await pdf.newPath()
|
|
154
|
-
.moveTo(corner.x - cornerSize, corner.y)
|
|
155
|
-
.lineTo(corner.x + cornerSize, corner.y)
|
|
156
|
-
.strokeColor(color)
|
|
157
|
-
.strokeWidth(lineWidth + 0.5)
|
|
158
|
-
.at(pageIndex, corner.x - cornerSize, corner.y)
|
|
159
|
-
.add();
|
|
160
|
-
// Vertical line
|
|
161
|
-
await pdf.newPath()
|
|
162
|
-
.moveTo(corner.x, corner.y - cornerSize)
|
|
163
|
-
.lineTo(corner.x, corner.y + cornerSize)
|
|
164
|
-
.strokeColor(color)
|
|
165
|
-
.strokeWidth(lineWidth + 0.5)
|
|
166
|
-
.at(pageIndex, corner.x, corner.y - cornerSize)
|
|
167
|
-
.add();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
// Draw dimensions label
|
|
171
|
-
if (showDimensions) {
|
|
172
|
-
const dimensionText = `${width.toFixed(1)}×${height.toFixed(1)}`;
|
|
173
|
-
const labelX = x + width / 2 - 15;
|
|
174
|
-
const labelY = y - 10;
|
|
175
|
-
await pdf.newParagraph()
|
|
176
|
-
.text(dimensionText, color)
|
|
177
|
-
.font(index_1.StandardFonts.HELVETICA, 7)
|
|
178
|
-
.at(pageIndex, labelX, labelY)
|
|
179
|
-
.add();
|
|
180
|
-
// Position label
|
|
181
|
-
const positionText = `(${x.toFixed(1)}, ${y.toFixed(1)})`;
|
|
182
|
-
await pdf.newParagraph()
|
|
183
|
-
.text(positionText, color)
|
|
184
|
-
.font(index_1.StandardFonts.HELVETICA, 7)
|
|
185
|
-
.at(pageIndex, x, y + height + 2)
|
|
186
|
-
.add();
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Draws bounding boxes around all objects of a specific type on a page.
|
|
191
|
-
*
|
|
192
|
-
* @example
|
|
193
|
-
* ```typescript
|
|
194
|
-
* // Draw boxes around all paragraphs
|
|
195
|
-
* const paragraphs = await pdf.selectParagraphs();
|
|
196
|
-
* await drawBoundingBoxes(pdf, paragraphs, {
|
|
197
|
-
* color: new Color(0, 255, 0)
|
|
198
|
-
* });
|
|
199
|
-
* ```
|
|
200
|
-
*/
|
|
201
|
-
async function drawBoundingBoxes(pdf, objectRefs, options = {}) {
|
|
202
|
-
for (const objectRef of objectRefs) {
|
|
203
|
-
await drawBoundingBox(pdf, objectRef, options);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Draws a cross-hair marker at specific coordinates.
|
|
208
|
-
* Useful for marking test points.
|
|
209
|
-
*
|
|
210
|
-
* @example
|
|
211
|
-
* ```typescript
|
|
212
|
-
* await drawCrosshair(pdf, 100, 200, {
|
|
213
|
-
* color: new Color(0, 0, 255),
|
|
214
|
-
* size: 10
|
|
215
|
-
* });
|
|
216
|
-
* ```
|
|
217
|
-
*/
|
|
218
|
-
async function drawCrosshair(pdf, x, y, options = {}) {
|
|
219
|
-
const { color = new index_1.Color(255, 0, 0), size = 5, lineWidth = 1, pageIndex = 0, label } = options;
|
|
220
|
-
// Horizontal line
|
|
221
|
-
await pdf.newPath()
|
|
222
|
-
.moveTo(x - size, y)
|
|
223
|
-
.lineTo(x + size, y)
|
|
224
|
-
.strokeColor(color)
|
|
225
|
-
.strokeWidth(lineWidth)
|
|
226
|
-
.at(pageIndex, x - size, y)
|
|
227
|
-
.add();
|
|
228
|
-
// Vertical line
|
|
229
|
-
await pdf.newPath()
|
|
230
|
-
.moveTo(x, y - size)
|
|
231
|
-
.lineTo(x, y + size)
|
|
232
|
-
.strokeColor(color)
|
|
233
|
-
.strokeWidth(lineWidth)
|
|
234
|
-
.at(pageIndex, x, y - size)
|
|
235
|
-
.add();
|
|
236
|
-
// Circle
|
|
237
|
-
await pdf.newPath()
|
|
238
|
-
.moveTo(x + size, y)
|
|
239
|
-
.bezierTo(x + size, y + size * 0.55, x + size * 0.55, y + size, x, y + size)
|
|
240
|
-
.bezierTo(x - size * 0.55, y + size, x - size, y + size * 0.55, x - size, y)
|
|
241
|
-
.bezierTo(x - size, y - size * 0.55, x - size * 0.55, y - size, x, y - size)
|
|
242
|
-
.bezierTo(x + size * 0.55, y - size, x + size, y - size * 0.55, x + size, y)
|
|
243
|
-
.strokeColor(color)
|
|
244
|
-
.strokeWidth(lineWidth)
|
|
245
|
-
.at(pageIndex, x - size, y - size)
|
|
246
|
-
.add();
|
|
247
|
-
// Add label if provided
|
|
248
|
-
if (label) {
|
|
249
|
-
await pdf.newParagraph()
|
|
250
|
-
.text(label, color)
|
|
251
|
-
.font(index_1.StandardFonts.HELVETICA, 8)
|
|
252
|
-
.at(pageIndex, x + size + 2, y - 3)
|
|
253
|
-
.add();
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Highlights the text content of a text object with a semi-transparent background.
|
|
258
|
-
*
|
|
259
|
-
* @example
|
|
260
|
-
* ```typescript
|
|
261
|
-
* const textLine = await pdf.selectTextLine();
|
|
262
|
-
* await highlightText(pdf, textLine, {
|
|
263
|
-
* color: new Color(255, 255, 0, 128) // Yellow with 50% transparency
|
|
264
|
-
* });
|
|
265
|
-
* ```
|
|
266
|
-
*/
|
|
267
|
-
async function highlightText(pdf, textObjectRef, options = {}) {
|
|
268
|
-
const { color = new index_1.Color(255, 255, 0, 128), // Yellow with transparency
|
|
269
|
-
padding = 2 } = options;
|
|
270
|
-
const position = textObjectRef.position;
|
|
271
|
-
if (!position || !position.boundingRect) {
|
|
272
|
-
console.warn('Text object has no bounding rectangle, skipping highlight');
|
|
273
|
-
return;
|
|
274
|
-
}
|
|
275
|
-
const rect = position.boundingRect;
|
|
276
|
-
const pageIndex = position.pageIndex ?? 0;
|
|
277
|
-
await pdf.newPath()
|
|
278
|
-
.moveTo(rect.x - padding, rect.y - padding)
|
|
279
|
-
.lineTo(rect.x + rect.width + padding, rect.y - padding)
|
|
280
|
-
.lineTo(rect.x + rect.width + padding, rect.y + rect.height + padding)
|
|
281
|
-
.lineTo(rect.x - padding, rect.y + rect.height + padding)
|
|
282
|
-
.lineTo(rect.x - padding, rect.y - padding)
|
|
283
|
-
.fillColor(color)
|
|
284
|
-
.at(pageIndex, rect.x - padding, rect.y - padding)
|
|
285
|
-
.add();
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Draws an arrow between two points.
|
|
289
|
-
* Useful for indicating relationships or directions in test visualizations.
|
|
290
|
-
*
|
|
291
|
-
* @example
|
|
292
|
-
* ```typescript
|
|
293
|
-
* await drawArrow(pdf, 100, 100, 200, 200, {
|
|
294
|
-
* color: new Color(0, 0, 255),
|
|
295
|
-
* label: "Move direction"
|
|
296
|
-
* });
|
|
297
|
-
* ```
|
|
298
|
-
*/
|
|
299
|
-
async function drawArrow(pdf, fromX, fromY, toX, toY, options = {}) {
|
|
300
|
-
const { color = new index_1.Color(0, 0, 255), lineWidth = 1.5, arrowSize = 8, pageIndex = 0, label } = options;
|
|
301
|
-
// Draw main line
|
|
302
|
-
await pdf.newPath()
|
|
303
|
-
.moveTo(fromX, fromY)
|
|
304
|
-
.lineTo(toX, toY)
|
|
305
|
-
.strokeColor(color)
|
|
306
|
-
.strokeWidth(lineWidth)
|
|
307
|
-
.at(pageIndex, Math.min(fromX, toX), Math.min(fromY, toY))
|
|
308
|
-
.add();
|
|
309
|
-
// Calculate arrow head angle
|
|
310
|
-
const angle = Math.atan2(toY - fromY, toX - fromX);
|
|
311
|
-
const arrowAngle = Math.PI / 6; // 30 degrees
|
|
312
|
-
// Left arrow line
|
|
313
|
-
const leftX = toX - arrowSize * Math.cos(angle - arrowAngle);
|
|
314
|
-
const leftY = toY - arrowSize * Math.sin(angle - arrowAngle);
|
|
315
|
-
await pdf.newPath()
|
|
316
|
-
.moveTo(toX, toY)
|
|
317
|
-
.lineTo(leftX, leftY)
|
|
318
|
-
.strokeColor(color)
|
|
319
|
-
.strokeWidth(lineWidth)
|
|
320
|
-
.at(pageIndex, Math.min(toX, leftX), Math.min(toY, leftY))
|
|
321
|
-
.add();
|
|
322
|
-
// Right arrow line
|
|
323
|
-
const rightX = toX - arrowSize * Math.cos(angle + arrowAngle);
|
|
324
|
-
const rightY = toY - arrowSize * Math.sin(angle + arrowAngle);
|
|
325
|
-
await pdf.newPath()
|
|
326
|
-
.moveTo(toX, toY)
|
|
327
|
-
.lineTo(rightX, rightY)
|
|
328
|
-
.strokeColor(color)
|
|
329
|
-
.strokeWidth(lineWidth)
|
|
330
|
-
.at(pageIndex, Math.min(toX, rightX), Math.min(toY, rightY))
|
|
331
|
-
.add();
|
|
332
|
-
// Add label if provided
|
|
333
|
-
if (label) {
|
|
334
|
-
const midX = (fromX + toX) / 2;
|
|
335
|
-
const midY = (fromY + toY) / 2;
|
|
336
|
-
await pdf.newParagraph()
|
|
337
|
-
.text(label, color)
|
|
338
|
-
.font(index_1.StandardFonts.HELVETICA, 8)
|
|
339
|
-
.at(pageIndex, midX + 5, midY + 5)
|
|
340
|
-
.add();
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
//# sourceMappingURL=test-drawing-helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-drawing-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-drawing-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Helper functions for e2e tests
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Get the base URL from environment variable or default
|
|
6
|
-
*/
|
|
7
|
-
export declare function getBaseUrl(): string;
|
|
8
|
-
/**
|
|
9
|
-
* Read authentication token from environment or token files
|
|
10
|
-
*/
|
|
11
|
-
export declare function readToken(): string | null;
|
|
12
|
-
/**
|
|
13
|
-
* Check if server is up and running
|
|
14
|
-
*/
|
|
15
|
-
export declare function serverUp(baseUrl: string): Promise<boolean>;
|
|
16
|
-
/**
|
|
17
|
-
* Require environment variables and PDF fixture for testing
|
|
18
|
-
*/
|
|
19
|
-
export declare function requireEnvAndFixture(pdfFilename: string): Promise<[string, string, Uint8Array]>;
|
|
20
|
-
/**
|
|
21
|
-
* Helper to open temporary file path (for Node.js environment)
|
|
22
|
-
*/
|
|
23
|
-
export declare function createTempPath(filename: string): string;
|
|
24
|
-
/**
|
|
25
|
-
* Helper to read image file for tests
|
|
26
|
-
*/
|
|
27
|
-
export declare function readImageFixture(filename: string): Uint8Array;
|
|
28
|
-
export declare function getImagePath(filename: string): string;
|
|
29
|
-
export declare function getFontPath(filename: string): string;
|
|
30
|
-
/**
|
|
31
|
-
* Helper to read font file for tests
|
|
32
|
-
*/
|
|
33
|
-
export declare function readFontFixture(filename: string): Uint8Array;
|
|
34
|
-
/**
|
|
35
|
-
* Draw a coordinate grid on a PDF page for testing
|
|
36
|
-
* @param pdf - PDFDancer instance
|
|
37
|
-
* @param pageIndex - Page index (default: 0)
|
|
38
|
-
* @param gridSpacing - Spacing between grid lines in points (default: 50)
|
|
39
|
-
* @param showLabels - Whether to show coordinate labels (default: true)
|
|
40
|
-
* @param labelFont - Font name for labels (default: 'Helvetica')
|
|
41
|
-
* @param labelSize - Font size for labels (default: 8)
|
|
42
|
-
*/
|
|
43
|
-
export declare function drawCoordinateGrid(pdf: any, pageIndex?: number, gridSpacing?: number, showLabels?: boolean, labelFont?: string, labelSize?: number): Promise<void>;
|
|
44
|
-
//# sourceMappingURL=test-helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAmBzC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAehE;AAiBD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAsBrG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS7D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,UAI3C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS5D;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,GAAG,EAAE,GAAG,EACR,SAAS,GAAE,MAAU,EACrB,WAAW,GAAE,MAAW,EACxB,UAAU,GAAE,OAAc,EAC1B,SAAS,GAAE,MAAoB,EAC/B,SAAS,GAAE,MAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
|