pretext-pdf 0.4.5 → 0.5.1
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/CHANGELOG.md +333 -333
- package/README.md +76 -7
- package/dist/assets.d.ts +3 -0
- package/dist/assets.d.ts.map +1 -1
- package/dist/assets.js +111 -21
- package/dist/assets.js.map +1 -1
- package/dist/builder.d.ts +22 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +38 -1
- package/dist/builder.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/fonts.d.ts.map +1 -1
- package/dist/fonts.js +36 -1
- package/dist/fonts.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -34
- package/dist/index.js.map +1 -1
- package/dist/measure-blocks.d.ts +25 -0
- package/dist/measure-blocks.d.ts.map +1 -0
- package/dist/measure-blocks.js +1019 -0
- package/dist/measure-blocks.js.map +1 -0
- package/dist/measure-text.d.ts +53 -0
- package/dist/measure-text.d.ts.map +1 -0
- package/dist/measure-text.js +435 -0
- package/dist/measure-text.js.map +1 -0
- package/dist/measure.d.ts +15 -35
- package/dist/measure.d.ts.map +1 -1
- package/dist/measure.js +42 -1066
- package/dist/measure.js.map +1 -1
- package/dist/paginate.d.ts.map +1 -1
- package/dist/paginate.js +14 -12
- package/dist/paginate.js.map +1 -1
- package/dist/render-blocks.d.ts +24 -0
- package/dist/render-blocks.d.ts.map +1 -0
- package/dist/render-blocks.js +937 -0
- package/dist/render-blocks.js.map +1 -0
- package/dist/render-extras.d.ts +18 -0
- package/dist/render-extras.d.ts.map +1 -0
- package/dist/render-extras.js +325 -0
- package/dist/render-extras.js.map +1 -0
- package/dist/render-utils.d.ts +59 -0
- package/dist/render-utils.d.ts.map +1 -0
- package/dist/render-utils.js +219 -0
- package/dist/render-utils.js.map +1 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +19 -1375
- package/dist/render.js.map +1 -1
- package/dist/rich-text.d.ts +4 -0
- package/dist/rich-text.d.ts.map +1 -1
- package/dist/rich-text.js +4 -0
- package/dist/rich-text.js.map +1 -1
- package/dist/types.d.ts +108 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +195 -15
- package/dist/validate.js.map +1 -1
- package/docs/screenshots/showcase-invoice.png +0 -0
- package/docs/screenshots/showcase-report.png +0 -0
- package/docs/screenshots/showcase-resume.png +0 -0
- package/package.json +130 -128
package/dist/measure.d.ts
CHANGED
|
@@ -1,53 +1,33 @@
|
|
|
1
|
-
import type { PdfDocument, ContentElement, MeasuredBlock, ImageMap, ColumnDef } from './types.js';
|
|
2
|
-
type HypherInstance = {
|
|
3
|
-
hyphenate(word: string): string[];
|
|
4
|
-
};
|
|
5
|
-
type HyphenatorOpts = {
|
|
6
|
-
instance: HypherInstance;
|
|
7
|
-
minWordLength: number;
|
|
8
|
-
leftMin: number;
|
|
9
|
-
rightMin: number;
|
|
10
|
-
};
|
|
11
1
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* Returns MeasuredBlock for most types.
|
|
15
|
-
* Returns MeasuredBlock[] for 'list' (each item becomes an independent block).
|
|
16
|
-
*
|
|
17
|
-
* NOTE: Image elements cannot be measured here — use measureAllBlocks() instead,
|
|
18
|
-
* which resolves the content-index-based imageMap key before calling measureImageWithKey().
|
|
2
|
+
* measure.ts — Measurement orchestrator
|
|
3
|
+
* Entry point for the measurement pipeline. Exports public measurement functions.
|
|
19
4
|
*/
|
|
20
|
-
|
|
5
|
+
import type { PdfDocument, MeasuredBlock, ImageMap } from './types.js';
|
|
6
|
+
import { measureBlock } from './measure-blocks.js';
|
|
7
|
+
export { measureBlock };
|
|
21
8
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* 'auto' columns use naturalWidths[i] (measured content width) — caller must pre-compute these.
|
|
25
|
-
*
|
|
26
|
-
* naturalWidths is required if any column uses 'auto'. It maps column index → natural text width in pt
|
|
27
|
-
* (the minimum width needed to display cell text on one line, including cellPaddingH on both sides).
|
|
9
|
+
* Build the canonical font key: family-weight-style
|
|
10
|
+
* Used by both measure.ts and render.ts for font lookup
|
|
28
11
|
*/
|
|
29
|
-
export declare function
|
|
12
|
+
export declare function buildFontKey(family: string, weight?: 400 | 700, style?: 'normal' | 'italic'): string;
|
|
30
13
|
/**
|
|
31
14
|
* Measure a short header/footer string — returns total height in pt.
|
|
32
15
|
*/
|
|
33
16
|
export declare function measureHeaderFooterHeight(text: string, fontSize: number, fontFamily: string, contentWidth: number, lineHeight: number): Promise<number>;
|
|
34
|
-
/** Build a font map key from family + weight + style */
|
|
35
|
-
export declare function buildFontKey(family: string, weight: 400 | 700, style: 'normal' | 'italic'): string;
|
|
36
17
|
/**
|
|
37
|
-
* Build measured TOC entry blocks from
|
|
38
|
-
*
|
|
18
|
+
* Build measured TOC entry blocks from draft headings (two-pass TOC generation).
|
|
19
|
+
* Each entry is placed on a specific page.
|
|
39
20
|
*/
|
|
40
21
|
export declare function buildTocEntryBlocks(headings: Array<{
|
|
41
22
|
text: string;
|
|
42
23
|
level: 1 | 2 | 3 | 4;
|
|
43
24
|
pageIndex: number;
|
|
44
|
-
}>, tocElement: import('./types.js').TocElement, contentWidth: number, doc: PdfDocument): Promise<
|
|
25
|
+
}>, tocElement: import('./types.js').TocElement, contentWidth: number, doc: PdfDocument): Promise<MeasuredBlock[]>;
|
|
45
26
|
/**
|
|
46
|
-
* Measure all content elements
|
|
47
|
-
* Handles list flattening
|
|
48
|
-
*
|
|
49
|
-
*
|
|
27
|
+
* Stage 3: Measure all document content elements.
|
|
28
|
+
* Handles image key resolution, list flattening, SVG wrapping, hyphenation initialization.
|
|
29
|
+
*
|
|
30
|
+
* Returns array of MeasuredBlock (includes flattened lists + SVG-wrapped images).
|
|
50
31
|
*/
|
|
51
32
|
export declare function measureAllBlocks(doc: PdfDocument, contentWidth: number, imageMap: ImageMap, pageContentHeight: number): Promise<MeasuredBlock[]>;
|
|
52
|
-
export {};
|
|
53
33
|
//# sourceMappingURL=measure.d.ts.map
|
package/dist/measure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../src/measure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../src/measure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EAAkB,aAAa,EAAE,QAAQ,EACrD,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,GAAG,GAAG,GAAS,EACvB,KAAK,GAAE,QAAQ,GAAG,QAAmB,GACpC,MAAM,CAER;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAeD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1E,UAAU,EAAE,OAAO,YAAY,EAAE,UAAU,EAC3C,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,aAAa,EAAE,CAAC,CAqD1B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsE1B"}
|