pretext-pdf 0.4.6 → 0.5.2

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 (63) hide show
  1. package/CHANGELOG.md +351 -333
  2. package/README.md +3 -3
  3. package/dist/assets.d.ts +3 -0
  4. package/dist/assets.d.ts.map +1 -1
  5. package/dist/assets.js +119 -21
  6. package/dist/assets.js.map +1 -1
  7. package/dist/builder.d.ts +22 -1
  8. package/dist/builder.d.ts.map +1 -1
  9. package/dist/builder.js +38 -1
  10. package/dist/builder.js.map +1 -1
  11. package/dist/errors.d.ts +1 -1
  12. package/dist/errors.d.ts.map +1 -1
  13. package/dist/errors.js.map +1 -1
  14. package/dist/fonts.d.ts.map +1 -1
  15. package/dist/fonts.js +36 -1
  16. package/dist/fonts.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +36 -15
  20. package/dist/index.js.map +1 -1
  21. package/dist/measure-blocks.d.ts +25 -0
  22. package/dist/measure-blocks.d.ts.map +1 -0
  23. package/dist/measure-blocks.js +1019 -0
  24. package/dist/measure-blocks.js.map +1 -0
  25. package/dist/measure-text.d.ts +53 -0
  26. package/dist/measure-text.d.ts.map +1 -0
  27. package/dist/measure-text.js +435 -0
  28. package/dist/measure-text.js.map +1 -0
  29. package/dist/measure.d.ts +15 -35
  30. package/dist/measure.d.ts.map +1 -1
  31. package/dist/measure.js +42 -1066
  32. package/dist/measure.js.map +1 -1
  33. package/dist/paginate.d.ts.map +1 -1
  34. package/dist/paginate.js +14 -12
  35. package/dist/paginate.js.map +1 -1
  36. package/dist/render-blocks.d.ts +24 -0
  37. package/dist/render-blocks.d.ts.map +1 -0
  38. package/dist/render-blocks.js +937 -0
  39. package/dist/render-blocks.js.map +1 -0
  40. package/dist/render-extras.d.ts +18 -0
  41. package/dist/render-extras.d.ts.map +1 -0
  42. package/dist/render-extras.js +325 -0
  43. package/dist/render-extras.js.map +1 -0
  44. package/dist/render-utils.d.ts +59 -0
  45. package/dist/render-utils.d.ts.map +1 -0
  46. package/dist/render-utils.js +219 -0
  47. package/dist/render-utils.js.map +1 -0
  48. package/dist/render.d.ts.map +1 -1
  49. package/dist/render.js +10 -1372
  50. package/dist/render.js.map +1 -1
  51. package/dist/rich-text.d.ts +4 -0
  52. package/dist/rich-text.d.ts.map +1 -1
  53. package/dist/rich-text.js +4 -0
  54. package/dist/rich-text.js.map +1 -1
  55. package/dist/types.d.ts +115 -5
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/validate.d.ts.map +1 -1
  58. package/dist/validate.js +195 -15
  59. package/dist/validate.js.map +1 -1
  60. package/docs/screenshots/showcase-invoice.png +0 -0
  61. package/docs/screenshots/showcase-report.png +0 -0
  62. package/docs/screenshots/showcase-resume.png +0 -0
  63. package/package.json +130 -128
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-blocks.js","sourceRoot":"","sources":["../src/render-blocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * render-extras.ts — PDF structure rendering (bookmarks, TOC, forms, signatures)
3
+ * These are meta-layer concerns distinct from content block rendering.
4
+ */
5
+ import { PDFDocument } from '@cantoo/pdf-lib';
6
+ import type { PaginatedDocument, FontMap, PageGeometry, PagedBlock } from './types.js';
7
+ /**
8
+ * Build PDF outline (bookmarks/TOC) from heading entries.
9
+ * Creates a doubly-linked tree in the PDF catalog.
10
+ * Must be called after all pages are rendered but before pdfDoc.save().
11
+ */
12
+ export declare function buildOutlineTree(pdfDoc: PDFDocument, headings: PaginatedDocument['headings'], bookmarkConfig: import('./types.js').PdfDocument['bookmarks']): void;
13
+ export declare function renderTocEntry(pdfPage: ReturnType<PDFDocument['addPage']>, pagedBlock: PagedBlock, geo: PageGeometry, fontMap: FontMap): void;
14
+ /** Phase 8B: Render an interactive AcroForm field. */
15
+ export declare function renderFormField(block: PagedBlock, pdfPage: ReturnType<PDFDocument['addPage']>, pdfDoc: PDFDocument, fontMap: FontMap, geo: PageGeometry, yFromTop: number): void;
16
+ /** Phase 8E: Draw a visual signature placeholder box on the specified page. */
17
+ export declare function renderSignaturePlaceholder(sig: import('./types.js').SignatureSpec, pdfDoc: PDFDocument, fontMap: import('./types.js').FontMap, geo: import('./types.js').PageGeometry): void;
18
+ //# sourceMappingURL=render-extras.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-extras.d.ts","sourceRoot":"","sources":["../src/render-extras.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAqD,MAAM,iBAAiB,CAAA;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAMtF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACvC,cAAc,EAAE,OAAO,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,GAC5D,IAAI,CAmFN;AAID,wBAAgB,cAAc,CAC5B,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAC3C,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,OAAO,GACf,IAAI,CAkDN;AAID,sDAAsD;AACtD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAC3C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,MAAM,GACf,IAAI,CAiGN;AAID,+EAA+E;AAC/E,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,OAAO,YAAY,EAAE,aAAa,EACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,YAAY,EAAE,OAAO,EACrC,GAAG,EAAE,OAAO,YAAY,EAAE,YAAY,GACrC,IAAI,CA2EN"}
@@ -0,0 +1,325 @@
1
+ /**
2
+ * render-extras.ts — PDF structure rendering (bookmarks, TOC, forms, signatures)
3
+ * These are meta-layer concerns distinct from content block rendering.
4
+ */
5
+ import { PDFName, PDFNull, PDFString, rgb } from '@cantoo/pdf-lib';
6
+ import { PretextPdfError } from './errors.js';
7
+ import { toPdfY, hexToRgb } from './render-utils.js';
8
+ // ─── Outline / Bookmarks ──────────────────────────────────────────────────────
9
+ /**
10
+ * Build PDF outline (bookmarks/TOC) from heading entries.
11
+ * Creates a doubly-linked tree in the PDF catalog.
12
+ * Must be called after all pages are rendered but before pdfDoc.save().
13
+ */
14
+ export function buildOutlineTree(pdfDoc, headings, bookmarkConfig) {
15
+ if (bookmarkConfig === false || headings.length === 0)
16
+ return;
17
+ const cfg = typeof bookmarkConfig === 'object' ? bookmarkConfig : {};
18
+ const minLevel = cfg.minLevel ?? 1;
19
+ const maxLevel = cfg.maxLevel ?? 4;
20
+ const filtered = headings.filter(h => h.level >= minLevel && h.level <= maxLevel);
21
+ if (filtered.length === 0)
22
+ return;
23
+ const pageRefs = pdfDoc.getPages().map(p => p.ref);
24
+ const outlineRef = pdfDoc.context.nextRef();
25
+ const itemRefs = filtered.map(() => pdfDoc.context.nextRef());
26
+ // Returns index of nearest ancestor heading, or -1 (root-level)
27
+ function parentIdxOf(i) {
28
+ for (let j = i - 1; j >= 0; j--) {
29
+ if (filtered[j].level < filtered[i].level)
30
+ return j;
31
+ }
32
+ return -1;
33
+ }
34
+ for (let i = 0; i < filtered.length; i++) {
35
+ const h = filtered[i];
36
+ const pageRef = pageRefs[h.pageIndex] ?? pageRefs[pageRefs.length - 1];
37
+ const myParentIdx = parentIdxOf(i);
38
+ const myParentRef = myParentIdx === -1 ? outlineRef : itemRefs[myParentIdx];
39
+ const dest = pdfDoc.context.obj([pageRef, PDFName.of('XYZ'), PDFNull, PDFNull, PDFNull]);
40
+ let prevRef;
41
+ for (let j = i - 1; j >= 0; j--) {
42
+ if (filtered[j].level === h.level && parentIdxOf(j) === myParentIdx) {
43
+ prevRef = itemRefs[j];
44
+ break;
45
+ }
46
+ }
47
+ let nextRef;
48
+ for (let j = i + 1; j < filtered.length; j++) {
49
+ if (filtered[j].level === h.level && parentIdxOf(j) === myParentIdx) {
50
+ nextRef = itemRefs[j];
51
+ break;
52
+ }
53
+ }
54
+ let firstChildRef;
55
+ let lastChildRef;
56
+ let childCount = 0;
57
+ for (let j = i + 1; j < filtered.length; j++) {
58
+ if (filtered[j].level <= h.level)
59
+ break;
60
+ if (parentIdxOf(j) === i) {
61
+ if (!firstChildRef)
62
+ firstChildRef = itemRefs[j];
63
+ lastChildRef = itemRefs[j];
64
+ childCount++;
65
+ }
66
+ }
67
+ const entry = {
68
+ Title: PDFString.of(h.text),
69
+ Parent: myParentRef,
70
+ Dest: dest,
71
+ };
72
+ if (prevRef)
73
+ entry['Prev'] = prevRef;
74
+ if (nextRef)
75
+ entry['Next'] = nextRef;
76
+ if (firstChildRef)
77
+ entry['First'] = firstChildRef;
78
+ if (lastChildRef)
79
+ entry['Last'] = lastChildRef;
80
+ if (childCount > 0)
81
+ entry['Count'] = childCount;
82
+ pdfDoc.context.assign(itemRefs[i], pdfDoc.context.obj(entry));
83
+ }
84
+ const topIdxs = filtered.map((_, i) => i).filter(i => parentIdxOf(i) === -1);
85
+ const rootEntry = {
86
+ Type: PDFName.of('Outlines'),
87
+ Count: filtered.length,
88
+ };
89
+ if (topIdxs.length > 0) {
90
+ rootEntry['First'] = itemRefs[topIdxs[0]];
91
+ rootEntry['Last'] = itemRefs[topIdxs[topIdxs.length - 1]];
92
+ }
93
+ pdfDoc.context.assign(outlineRef, pdfDoc.context.obj(rootEntry));
94
+ pdfDoc.catalog.set(PDFName.of('Outlines'), outlineRef);
95
+ pdfDoc.catalog.set(PDFName.of('PageMode'), PDFName.of('UseOutlines'));
96
+ }
97
+ // ─── TOC Entry Rendering (Phase 7D) ────────────────────────────────────────────
98
+ export function renderTocEntry(pdfPage, pagedBlock, geo, fontMap) {
99
+ const { measuredBlock, startLine, endLine, yFromTop } = pagedBlock;
100
+ const element = measuredBlock.element;
101
+ const tocData = measuredBlock.tocEntryData;
102
+ const lines = measuredBlock.lines.slice(startLine, endLine);
103
+ if (lines.length === 0)
104
+ return;
105
+ const pdfFont = fontMap.get(measuredBlock.fontKey);
106
+ if (!pdfFont)
107
+ throw new PretextPdfError('FONT_NOT_LOADED', `TOC font "${measuredBlock.fontKey}" not found.`);
108
+ const fontHeight = pdfFont.heightAtSize(measuredBlock.fontSize);
109
+ const entryX = geo.margins.left + tocData.entryX;
110
+ const rightEdge = geo.margins.left + geo.contentWidth;
111
+ for (let i = 0; i < lines.length; i++) {
112
+ const lineYFromTop = yFromTop + (i * measuredBlock.lineHeight);
113
+ const absY = lineYFromTop + geo.margins.top + geo.headerHeight;
114
+ const pdfY = toPdfY(absY, fontHeight, geo.pageHeight);
115
+ const text = lines[i].text.trimEnd();
116
+ if (!text)
117
+ continue;
118
+ // Draw entry text
119
+ pdfPage.drawText(text, { x: entryX, y: pdfY, size: measuredBlock.fontSize, font: pdfFont, color: rgb(0, 0, 0) });
120
+ // Title lines (pageStr === ''): no leader, no page number
121
+ if (!tocData.pageStr)
122
+ continue;
123
+ // Only draw leader and page number on the last line of multi-line entries
124
+ if (i < lines.length - 1)
125
+ continue;
126
+ // Draw page number (right-aligned)
127
+ const pageStr = tocData.pageStr;
128
+ const pageStrWidth = pdfFont.widthOfTextAtSize(pageStr, measuredBlock.fontSize);
129
+ const pageX = rightEdge - pageStrWidth;
130
+ pdfPage.drawText(pageStr, { x: pageX, y: pdfY, size: measuredBlock.fontSize, font: pdfFont, color: rgb(0, 0, 0) });
131
+ // Draw dot leaders between text and page number
132
+ if (tocData.leaderChar) {
133
+ const textWidth = pdfFont.widthOfTextAtSize(text, measuredBlock.fontSize);
134
+ const leaderCharWidth = pdfFont.widthOfTextAtSize(tocData.leaderChar, measuredBlock.fontSize);
135
+ const gapStart = entryX + textWidth + 6; // 6pt gap after text
136
+ const gapEnd = pageX - 6; // 6pt gap before page number
137
+ let lx = gapStart;
138
+ while (lx + leaderCharWidth <= gapEnd) {
139
+ pdfPage.drawText(tocData.leaderChar, { x: lx, y: pdfY, size: measuredBlock.fontSize, font: pdfFont, color: rgb(0.5, 0.5, 0.5) });
140
+ lx += leaderCharWidth + 1;
141
+ }
142
+ }
143
+ }
144
+ }
145
+ // ─── Phase 8B: Form Fields ────────────────────────────────────────────────────
146
+ /** Phase 8B: Render an interactive AcroForm field. */
147
+ export function renderFormField(block, pdfPage, pdfDoc, fontMap, geo, yFromTop) {
148
+ const el = block.measuredBlock.element;
149
+ const { labelHeight, fieldHeight } = block.measuredBlock.formFieldData ?? { labelHeight: 0, fieldHeight: 24 };
150
+ const form = pdfDoc.getForm();
151
+ const x = geo.margins.left;
152
+ const fieldWidth = el.width ?? geo.contentWidth;
153
+ const absYTop = yFromTop + geo.margins.top + geo.headerHeight;
154
+ const fieldBottomPdfY = geo.pageHeight - absYTop - labelHeight - fieldHeight;
155
+ // Draw label if set — baseline must be inset by font height so glyphs sit within the block
156
+ if (el.label && labelHeight > 0) {
157
+ const font = fontMap.get(block.measuredBlock.fontKey);
158
+ if (font) {
159
+ const labelFontSize = el.fontSize ?? 12;
160
+ const fontHeight = font.heightAtSize(labelFontSize);
161
+ const labelPdfY = geo.pageHeight - absYTop - fontHeight;
162
+ pdfPage.drawText(el.label, {
163
+ x,
164
+ y: labelPdfY,
165
+ size: labelFontSize,
166
+ font,
167
+ color: rgb(0, 0, 0),
168
+ });
169
+ }
170
+ }
171
+ const borderRgb = hexToRgb(el.borderColor ?? '#999999');
172
+ const bgRgb = hexToRgb(el.backgroundColor ?? '#FFFFFF');
173
+ const fieldOpts = {
174
+ x,
175
+ y: fieldBottomPdfY,
176
+ width: fieldWidth,
177
+ height: fieldHeight,
178
+ borderColor: rgb(borderRgb[0], borderRgb[1], borderRgb[2]),
179
+ backgroundColor: rgb(bgRgb[0], bgRgb[1], bgRgb[2]),
180
+ };
181
+ try {
182
+ switch (el.fieldType) {
183
+ case 'text': {
184
+ const field = form.createTextField(el.name);
185
+ if (el.defaultValue)
186
+ field.setText(el.defaultValue);
187
+ if (el.multiline)
188
+ field.enableMultiline();
189
+ if (el.maxLength)
190
+ field.setMaxLength(el.maxLength);
191
+ field.addToPage(pdfPage, fieldOpts);
192
+ break;
193
+ }
194
+ case 'checkbox': {
195
+ const field = form.createCheckBox(el.name);
196
+ if (el.checked)
197
+ field.check();
198
+ field.addToPage(pdfPage, {
199
+ x,
200
+ y: fieldBottomPdfY,
201
+ width: fieldHeight,
202
+ height: fieldHeight,
203
+ borderColor: rgb(borderRgb[0], borderRgb[1], borderRgb[2]),
204
+ backgroundColor: rgb(bgRgb[0], bgRgb[1], bgRgb[2]),
205
+ });
206
+ break;
207
+ }
208
+ case 'radio': {
209
+ const group = form.createRadioGroup(el.name);
210
+ const opts = el.options ?? [];
211
+ const optHeight = Math.max(16, Math.floor(fieldHeight / Math.max(1, opts.length)));
212
+ for (let i = 0; i < opts.length; i++) {
213
+ group.addOptionToPage(opts[i].value, pdfPage, {
214
+ x,
215
+ y: fieldBottomPdfY + fieldHeight - optHeight * (i + 1),
216
+ width: optHeight,
217
+ height: optHeight,
218
+ borderColor: rgb(borderRgb[0], borderRgb[1], borderRgb[2]),
219
+ });
220
+ }
221
+ if (el.defaultSelected) {
222
+ try {
223
+ group.select(el.defaultSelected);
224
+ }
225
+ catch { /* option may not exist */ }
226
+ }
227
+ break;
228
+ }
229
+ case 'dropdown': {
230
+ const field = form.createDropdown(el.name);
231
+ const opts = (el.options ?? []).map(o => o.value);
232
+ if (opts.length > 0)
233
+ field.addOptions(opts);
234
+ if (el.defaultSelected) {
235
+ try {
236
+ field.select(el.defaultSelected);
237
+ }
238
+ catch { /* option may not exist */ }
239
+ }
240
+ field.addToPage(pdfPage, fieldOpts);
241
+ break;
242
+ }
243
+ case 'button': {
244
+ const field = form.createButton(el.name);
245
+ field.addToPage(el.label ?? el.name, pdfPage, fieldOpts);
246
+ break;
247
+ }
248
+ }
249
+ }
250
+ catch {
251
+ // Non-fatal: if pdf-lib throws for an edge case, skip the field rather than crashing
252
+ }
253
+ }
254
+ // ─── Phase 8E: Signature Placeholder ──────────────────────────────────────────
255
+ /** Phase 8E: Draw a visual signature placeholder box on the specified page. */
256
+ export function renderSignaturePlaceholder(sig, pdfDoc, fontMap, geo) {
257
+ const pages = pdfDoc.getPages();
258
+ if (pages.length === 0)
259
+ return;
260
+ const pageIndex = sig.page !== undefined
261
+ ? Math.min(sig.page, pages.length - 1)
262
+ : pages.length - 1;
263
+ const page = pages[pageIndex];
264
+ if (!page)
265
+ return;
266
+ const boxWidth = sig.width ?? 200;
267
+ const boxHeight = sig.height ?? 60;
268
+ const x = sig.x ?? geo.margins.left;
269
+ const yFromTop = sig.y ?? (geo.pageHeight - geo.margins.bottom - boxHeight);
270
+ const pdfY = geo.pageHeight - yFromTop - boxHeight;
271
+ const fs = sig.fontSize ?? 8;
272
+ const borderRgb = hexToRgb(sig.borderColor ?? '#000000');
273
+ const borderColor = rgb(borderRgb[0], borderRgb[1], borderRgb[2]);
274
+ const grayColor = rgb(0.5, 0.5, 0.5);
275
+ const font = fontMap.get('Inter-400-normal') ?? [...fontMap.values()][0];
276
+ if (!font)
277
+ return;
278
+ // Draw outer border rectangle (white fill)
279
+ page.drawRectangle({
280
+ x,
281
+ y: pdfY,
282
+ width: boxWidth,
283
+ height: boxHeight,
284
+ borderColor,
285
+ borderWidth: 0.5,
286
+ color: rgb(1, 1, 1),
287
+ });
288
+ let lineY = pdfY + boxHeight - fs - 6;
289
+ // Signer name line
290
+ if (sig.signerName) {
291
+ page.drawText(`Signed by: ${sig.signerName}`, {
292
+ x: x + 6, y: lineY, size: fs, font, color: rgb(0, 0, 0),
293
+ });
294
+ lineY -= fs + 4;
295
+ }
296
+ // Signature underline
297
+ page.drawLine({
298
+ start: { x: x + 6, y: lineY },
299
+ end: { x: x + boxWidth - 12, y: lineY },
300
+ thickness: 0.3,
301
+ color: grayColor,
302
+ });
303
+ page.drawText('Signature', {
304
+ x: x + 6, y: lineY - fs, size: fs - 1, font, color: grayColor,
305
+ });
306
+ lineY -= fs + 8;
307
+ // Date underline (half width)
308
+ page.drawLine({
309
+ start: { x: x + 6, y: lineY },
310
+ end: { x: x + boxWidth / 2, y: lineY },
311
+ thickness: 0.3,
312
+ color: grayColor,
313
+ });
314
+ page.drawText('Date', {
315
+ x: x + 6, y: lineY - fs, size: fs - 1, font, color: grayColor,
316
+ });
317
+ // Reason / location at bottom
318
+ if (sig.reason || sig.location) {
319
+ const bottomText = [sig.reason, sig.location].filter(Boolean).join(' — ');
320
+ page.drawText(bottomText, {
321
+ x: x + 6, y: pdfY + 3, size: fs - 1, font, color: rgb(0.4, 0.4, 0.4),
322
+ });
323
+ }
324
+ }
325
+ //# sourceMappingURL=render-extras.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-extras.js","sourceRoot":"","sources":["../src/render-extras.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * render-utils.ts — Pure utility functions for PDF rendering
3
+ * No element-type knowledge. Used by all render modules.
4
+ */
5
+ import { PDFDocument, PDFFont, PDFRef, rgb } from '@cantoo/pdf-lib';
6
+ /**
7
+ * Draw a single line of text with justified alignment.
8
+ * Spaces between words are stretched so the line fills availableWidth.
9
+ * The last line of a paragraph is left-aligned (standard typographic convention).
10
+ */
11
+ export declare function drawJustifiedLine(pdfPage: ReturnType<PDFDocument['addPage']>, lineText: string, isLastLine: boolean, x: number, pdfY: number, availableWidth: number, fontSize: number, pdfFont: PDFFont, color: ReturnType<typeof rgb>): void;
12
+ /**
13
+ * Adds a clickable URI annotation over a rendered text region.
14
+ * Must be called after drawText() — annotation sits above the text layer.
15
+ */
16
+ export declare function addLinkAnnotation(pdfDoc: PDFDocument, pdfPage: ReturnType<PDFDocument['addPage']>, x: number, pdfY: number, width: number, fontSize: number, url: string): void;
17
+ /**
18
+ * Adds a clickable internal anchor link (GoTo) annotation over a rendered text region.
19
+ * Jumps to a page with a named destination when clicked.
20
+ * Must be called after drawText() — annotation sits above the text layer.
21
+ */
22
+ export declare function addGoToAnnotation(pdfDoc: PDFDocument, pdfPage: ReturnType<PDFDocument['addPage']>, x: number, pdfY: number, width: number, fontSize: number, destPageRef: PDFRef, destPdfY: number): void;
23
+ /**
24
+ * Adds a sticky-note (Text) annotation at the given position.
25
+ */
26
+ export declare function addStickyNoteAnnotation(pdfDoc: PDFDocument, pdfPage: ReturnType<PDFDocument['addPage']>, x: number, pdfY: number, contents: string, author?: string, color?: string, open?: boolean): void;
27
+ /**
28
+ * Draws underline and/or strikethrough lines for a rendered text segment.
29
+ * Must be called AFTER drawText() so text renders on top of any decoration line.
30
+ */
31
+ export declare function drawTextDecoration(pdfPage: ReturnType<PDFDocument['addPage']>, x: number, width: number, pdfY: number, fontSize: number, pdfFont: PDFFont, color: [number, number, number], decoration: {
32
+ underline: boolean;
33
+ strikethrough: boolean;
34
+ }): void;
35
+ /**
36
+ * Draw text with tabular (monospaced) digit spacing.
37
+ * Each digit occupies a fixed slot = widest digit glyph in the font at the given size.
38
+ * Non-digit characters render at their natural width.
39
+ *
40
+ * First-principle rationale: proportional fonts vary digit widths (1 is narrower than 0).
41
+ * Tabular mode normalises all digits to the same advance, so columns of numbers
42
+ * align perfectly with no font-specific OpenType tables required.
43
+ */
44
+ export declare function drawTabularText(pdfPage: ReturnType<PDFDocument['addPage']>, text: string, x: number, pdfY: number, fontSize: number, pdfFont: PDFFont, color: ReturnType<typeof rgb>): void;
45
+ /**
46
+ * THE ONLY place where top-down coords are converted to pdf-lib bottom-up coords.
47
+ * @param yFromTop - distance from top of page in pt
48
+ * @param elementHeight - height of the element (font baseline offset, image height, etc.)
49
+ * @param pageHeight - total page height in pt
50
+ */
51
+ export declare function toPdfY(yFromTop: number, elementHeight: number, pageHeight: number): number;
52
+ /** Resolve text horizontal position based on alignment */
53
+ export declare function resolveX(align: 'left' | 'center' | 'right', startX: number, availableWidth: number, lineWidth: number): number;
54
+ /** Replace {{pageNumber}} and {{totalPages}} tokens */
55
+ export declare function resolveTokens(text: string, pageNumber: number, totalPages: number): string;
56
+ /** Parse a 6-digit hex color string to normalized RGB [0,1] triple.
57
+ * Falls back to black on invalid/missing input to prevent NaN from reaching pdf-lib. */
58
+ export declare function hexToRgb(hex: string | null | undefined): [number, number, number];
59
+ //# sourceMappingURL=render-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-utils.d.ts","sourceRoot":"","sources":["../src/render-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAoB,MAAM,EAAa,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAEhG;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAC3C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,EACnB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,GAC5B,IAAI,CAwBN;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAC3C,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,IAAI,CAyBN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAC3C,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,IAAI,CAqBN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAC3C,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,GACb,IAAI,CA0BN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAC3C,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,UAAU,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GACzD,IAAI,CAuCN;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,GAC5B,IAAI,CAkBN;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,EAClC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,MAAM,CASR;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAI1F;AAED;yFACyF;AACzF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQjF"}