pretext-pdf 0.4.0 → 0.4.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.
- package/README.md +53 -9
- package/dist/assets.d.ts +1 -1
- package/dist/assets.js +3 -3
- package/dist/assets.js.map +1 -1
- package/dist/node-polyfill.d.ts.map +1 -1
- package/dist/node-polyfill.js +17 -5
- package/dist/node-polyfill.js.map +1 -1
- package/fonts/Inter-Bold.ttf +0 -0
- package/fonts/Inter-Regular.ttf +0 -0
- package/package.json +24 -3
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
[](https://www.npmjs.com/package/pretext-pdf)
|
|
9
9
|
[](https://github.com/Himaan1998Y/pretext-pdf/actions)
|
|
10
10
|
[](https://www.typescriptlang.org/)
|
|
11
|
-
[](#test-coverage)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
|
|
14
14
|
---
|
|
@@ -55,12 +55,13 @@ Real documents generated with pretext-pdf:
|
|
|
55
55
|
npm install pretext-pdf
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
Optional peer
|
|
58
|
+
Optional peer dependency (for SVG support):
|
|
59
59
|
```bash
|
|
60
|
-
npm install @
|
|
61
|
-
npm install @napi-rs/canvas # Required for SVG support (auto-installed in most setups)
|
|
60
|
+
npm install @napi-rs/canvas # Required for SVG elements (auto-installed in most setups)
|
|
62
61
|
```
|
|
63
62
|
|
|
63
|
+
> **Encryption is built-in since v0.4.0** — no extra install needed. Just add `encryption` to your document config.
|
|
64
|
+
|
|
64
65
|
---
|
|
65
66
|
|
|
66
67
|
## Quick Start
|
|
@@ -113,6 +114,23 @@ const pdf = await createPdf({ pageSize: 'A4' })
|
|
|
113
114
|
|
|
114
115
|
pretext-pdf works great as a tool for AI agents generating PDFs on demand.
|
|
115
116
|
|
|
117
|
+
### MCP Server (Claude Desktop, Cursor, Windsurf)
|
|
118
|
+
|
|
119
|
+
Use [`pretext-pdf-mcp`](https://www.npmjs.com/package/pretext-pdf-mcp) to call pretext-pdf directly from any AI agent:
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"mcpServers": {
|
|
124
|
+
"pretext-pdf": {
|
|
125
|
+
"command": "npx",
|
|
126
|
+
"args": ["-y", "pretext-pdf-mcp"]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Tools available: `generate_pdf`, `generate_invoice`, `generate_report`, `list_element_types`
|
|
133
|
+
|
|
116
134
|
### Quick pattern for LLMs
|
|
117
135
|
|
|
118
136
|
```typescript
|
|
@@ -148,6 +166,20 @@ toc
|
|
|
148
166
|
|
|
149
167
|
---
|
|
150
168
|
|
|
169
|
+
## India / GST Invoicing
|
|
170
|
+
|
|
171
|
+
pretext-pdf has built-in support for Indian invoice requirements:
|
|
172
|
+
|
|
173
|
+
- **₹ symbol** renders correctly (bundled Inter font includes the Rupee glyph)
|
|
174
|
+
- **Indian number formatting** — helper for 1,00,000 notation (not 100,000)
|
|
175
|
+
- **GST structure** — CGST/SGST (intra-state) and IGST (inter-state) table layouts
|
|
176
|
+
- **Amount in words** — Indian numbering system (Lakh/Crore)
|
|
177
|
+
- **SAC/HSN codes** — column support in line-item tables
|
|
178
|
+
|
|
179
|
+
See [`examples/gst-invoice-india.ts`](examples/gst-invoice-india.ts) for a complete GST-compliant invoice template.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
151
183
|
## Features
|
|
152
184
|
|
|
153
185
|
### Element Types
|
|
@@ -289,7 +321,6 @@ try {
|
|
|
289
321
|
case 'VALIDATION_ERROR': // Invalid config
|
|
290
322
|
case 'FONT_LOAD_FAILED': // Font file not found
|
|
291
323
|
case 'IMAGE_TOO_TALL': // Image doesn't fit on page
|
|
292
|
-
case 'ENCRYPTION_NOT_AVAILABLE': // @cantoo/pdf-lib not installed
|
|
293
324
|
case 'ASSEMBLY_EMPTY': // merge/assemble called with empty array
|
|
294
325
|
// ... see CHANGELOG.md for full list
|
|
295
326
|
}
|
|
@@ -317,12 +348,19 @@ hyphenation: { language: 'en-US' }
|
|
|
317
348
|
hyphenation: { language: 'en-us' }
|
|
318
349
|
```
|
|
319
350
|
|
|
320
|
-
### Encryption
|
|
351
|
+
### Encryption
|
|
321
352
|
|
|
322
|
-
|
|
353
|
+
Encryption is built-in since v0.4.0. Add `encryption` to your document config:
|
|
323
354
|
|
|
324
|
-
```
|
|
325
|
-
|
|
355
|
+
```typescript
|
|
356
|
+
const pdf = await render({
|
|
357
|
+
encryption: {
|
|
358
|
+
userPassword: 'open123',
|
|
359
|
+
ownerPassword: 'admin456',
|
|
360
|
+
permissions: { printing: true, copying: false, modifying: false }
|
|
361
|
+
},
|
|
362
|
+
content: [...]
|
|
363
|
+
})
|
|
326
364
|
```
|
|
327
365
|
|
|
328
366
|
### SVG rendering requires optional dependency
|
|
@@ -433,6 +471,12 @@ const pdf = await render({
|
|
|
433
471
|
|
|
434
472
|
---
|
|
435
473
|
|
|
474
|
+
## Migration from pdfmake
|
|
475
|
+
|
|
476
|
+
Coming from pdfmake? See the **[Migration Guide](docs/MIGRATION_FROM_PDFMAKE.md)** for a complete cheat sheet covering every common pdfmake pattern and its pretext-pdf equivalent.
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
436
480
|
## Contributing
|
|
437
481
|
|
|
438
482
|
See [CONTRIBUTING.md](CONTRIBUTING.md). TDD approach — write tests first.
|
package/dist/assets.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { PdfDocument, ImageMap } from './types.js';
|
|
|
7
7
|
* Image keys are 'img-N' where N is the element's position in doc.content.
|
|
8
8
|
* This makes keys stable and avoids collisions from duplicate src paths.
|
|
9
9
|
*
|
|
10
|
-
* IMPORTANT: pdf-lib image embedding is NOT thread-safe.
|
|
10
|
+
* IMPORTANT: @cantoo/pdf-lib image embedding is NOT thread-safe.
|
|
11
11
|
* We load bytes in parallel but embed sequentially.
|
|
12
12
|
*/
|
|
13
13
|
export declare function loadImages(doc: PdfDocument, pdfDoc: PDFDocument, contentWidth: number): Promise<ImageMap>;
|
package/dist/assets.js
CHANGED
|
@@ -68,7 +68,7 @@ async function loadSvgAsImage(svg, widthPt, heightPt, pdfDoc) {
|
|
|
68
68
|
* Image keys are 'img-N' where N is the element's position in doc.content.
|
|
69
69
|
* This makes keys stable and avoids collisions from duplicate src paths.
|
|
70
70
|
*
|
|
71
|
-
* IMPORTANT: pdf-lib image embedding is NOT thread-safe.
|
|
71
|
+
* IMPORTANT: @cantoo/pdf-lib image embedding is NOT thread-safe.
|
|
72
72
|
* We load bytes in parallel but embed sequentially.
|
|
73
73
|
*/
|
|
74
74
|
export async function loadImages(doc, pdfDoc, contentWidth) {
|
|
@@ -88,7 +88,7 @@ export async function loadImages(doc, pdfDoc, contentWidth) {
|
|
|
88
88
|
return { el, key, bytes };
|
|
89
89
|
}))
|
|
90
90
|
: [];
|
|
91
|
-
// Embed sequentially (pdf-lib limitation)
|
|
91
|
+
// Embed sequentially (@cantoo/pdf-lib limitation)
|
|
92
92
|
for (const { el, key, bytes } of loadResults) {
|
|
93
93
|
const resolvedFormat = resolveImageFormat(el, bytes, key);
|
|
94
94
|
try {
|
|
@@ -98,7 +98,7 @@ export async function loadImages(doc, pdfDoc, contentWidth) {
|
|
|
98
98
|
imageMap.set(key, pdfImage);
|
|
99
99
|
}
|
|
100
100
|
catch (err) {
|
|
101
|
-
throw new PretextPdfError('IMAGE_FORMAT_MISMATCH', `Image key "${key}" (format: '${resolvedFormat}'): pdf-lib failed to embed — the bytes may not be a valid ${resolvedFormat.toUpperCase()} file. Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
101
|
+
throw new PretextPdfError('IMAGE_FORMAT_MISMATCH', `Image key "${key}" (format: '${resolvedFormat}'): @cantoo/pdf-lib failed to embed — the bytes may not be a valid ${resolvedFormat.toUpperCase()} file. Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
// Load SVG elements — rasterize to PNG and embed
|
package/dist/assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-polyfill.d.ts","sourceRoot":"","sources":["../src/node-polyfill.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"node-polyfill.d.ts","sourceRoot":"","sources":["../src/node-polyfill.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0FzD"}
|
package/dist/node-polyfill.js
CHANGED
|
@@ -38,13 +38,25 @@ export async function installNodePolyfill() {
|
|
|
38
38
|
}
|
|
39
39
|
// @ts-ignore — OffscreenCanvas is a browser global, not in Node.js types
|
|
40
40
|
global.OffscreenCanvas = NodeOffscreenCanvas;
|
|
41
|
+
// Resolve @fontsource/inter via createRequire to handle npm hoisting correctly.
|
|
42
|
+
// The old path.join(__dirname, '..', 'node_modules', ...) breaks when @fontsource/inter
|
|
43
|
+
// is hoisted to the consumer's node_modules (e.g. global npm install).
|
|
44
|
+
function resolveInterWoff2(filename) {
|
|
45
|
+
try {
|
|
46
|
+
const pkgJson = require.resolve('@fontsource/inter/package.json');
|
|
47
|
+
return path.join(path.dirname(pkgJson), 'files', filename);
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
41
53
|
// Register bundled Inter fonts so Pretext can measure them accurately
|
|
42
54
|
const fontVariants = [
|
|
43
55
|
{
|
|
44
56
|
family: 'Inter',
|
|
45
57
|
paths: [
|
|
46
|
-
|
|
47
|
-
|
|
58
|
+
resolveInterWoff2('inter-latin-400-normal.woff2'),
|
|
59
|
+
resolveInterWoff2('inter-all-400-normal.woff2'),
|
|
48
60
|
path.join(__dirname, '..', 'fonts', 'inter-latin-400-normal.woff2'),
|
|
49
61
|
],
|
|
50
62
|
},
|
|
@@ -53,8 +65,8 @@ export async function installNodePolyfill() {
|
|
|
53
65
|
// bold variant automatically when the CSS font string includes "bold"
|
|
54
66
|
family: 'Inter',
|
|
55
67
|
paths: [
|
|
56
|
-
|
|
57
|
-
|
|
68
|
+
resolveInterWoff2('inter-latin-700-normal.woff2'),
|
|
69
|
+
resolveInterWoff2('inter-all-700-normal.woff2'),
|
|
58
70
|
path.join(__dirname, '..', 'fonts', 'inter-latin-700-normal.woff2'),
|
|
59
71
|
],
|
|
60
72
|
},
|
|
@@ -62,7 +74,7 @@ export async function installNodePolyfill() {
|
|
|
62
74
|
let anyLoaded = false;
|
|
63
75
|
for (const variant of fontVariants) {
|
|
64
76
|
for (const fontPath of variant.paths) {
|
|
65
|
-
if (fs.existsSync(fontPath)) {
|
|
77
|
+
if (fontPath && fs.existsSync(fontPath)) {
|
|
66
78
|
try {
|
|
67
79
|
GlobalFonts.registerFromPath(fontPath, variant.family);
|
|
68
80
|
anyLoaded = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-polyfill.js","sourceRoot":"","sources":["../src/node-polyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAE9D,IAAI,iBAAiB,GAAG,KAAK,CAAA;AAE7B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,iBAAiB;QAAE,OAAM;IAE7B,sCAAsC;IACtC,8DAA8D;IAC9D,IAAI,UAAe,CAAA;IACnB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,MAAM,CAAC,iBAA2B,CAAC,CAAA;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,wFAAwF,CACzF,CAAA;IACH,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,UAAU,CAAA;IAEhD,gDAAgD;IAChD,MAAM,mBAAmB;QACf,OAAO,CAAiC;QAEhD,YAAY,KAAa,EAAE,MAAc;YACvC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5C,CAAC;QAED,UAAU,CAAC,IAAY;YACrB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAY,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA,CAAC,CAAC;KAC5C;IAED,yEAAyE;IACzE,MAAM,CAAC,eAAe,GAAG,mBAAmB,CAAA;IAE5C,
|
|
1
|
+
{"version":3,"file":"node-polyfill.js","sourceRoot":"","sources":["../src/node-polyfill.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pretext-pdf",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Declarative JSON → PDF generation with professional typography. Built on pretext's precision text layout engine.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pdf",
|
|
7
|
+
"pdf-generation",
|
|
8
|
+
"pretext",
|
|
9
|
+
"typography",
|
|
10
|
+
"invoice",
|
|
11
|
+
"report",
|
|
12
|
+
"document",
|
|
13
|
+
"typescript",
|
|
14
|
+
"nodejs",
|
|
15
|
+
"type-safe",
|
|
16
|
+
"forms",
|
|
17
|
+
"rtl",
|
|
18
|
+
"hyphenation"
|
|
19
|
+
],
|
|
6
20
|
"author": "Himanshu Jain <himanshu@antigravity.dev>",
|
|
7
21
|
"license": "MIT",
|
|
8
22
|
"homepage": "https://github.com/Himaan1998Y/pretext-pdf#readme",
|
|
@@ -20,7 +34,13 @@
|
|
|
20
34
|
"type": "module",
|
|
21
35
|
"main": "./dist/index.js",
|
|
22
36
|
"types": "./dist/index.d.ts",
|
|
23
|
-
"files": [
|
|
37
|
+
"files": [
|
|
38
|
+
"dist/",
|
|
39
|
+
"fonts/",
|
|
40
|
+
"README.md",
|
|
41
|
+
"LICENSE",
|
|
42
|
+
"CHANGELOG.md"
|
|
43
|
+
],
|
|
24
44
|
"exports": {
|
|
25
45
|
".": {
|
|
26
46
|
"import": "./dist/index.js",
|
|
@@ -56,6 +76,7 @@
|
|
|
56
76
|
"example:inline": "tsx examples/phase8-inline.ts",
|
|
57
77
|
"example:forms": "tsx examples/phase8-forms.ts",
|
|
58
78
|
"example:callout": "tsx examples/phase8-callout.ts",
|
|
79
|
+
"example:gst": "tsx examples/gst-invoice-india.ts",
|
|
59
80
|
"example:showcase-invoice": "tsx examples/showcase-invoice.ts",
|
|
60
81
|
"example:showcase-report": "tsx examples/showcase-report.ts",
|
|
61
82
|
"example:showcase-resume": "tsx examples/showcase-resume.ts",
|