legal-markdown-js 2.0.0 → 2.1.0
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.
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Assets Directory
|
|
2
|
+
|
|
3
|
+
This directory contains static assets used by Legal Markdown JS for PDF
|
|
4
|
+
generation and document styling.
|
|
5
|
+
|
|
6
|
+
## Directory Structure
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
src/assets/
|
|
10
|
+
├── images/ # Logo and image files for PDF headers/footers
|
|
11
|
+
│ └── ... # Additional logos
|
|
12
|
+
└── README.md # This file
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Logo Integration
|
|
16
|
+
|
|
17
|
+
### Overview
|
|
18
|
+
|
|
19
|
+
The PDF generator automatically detects and includes logos in document headers
|
|
20
|
+
when:
|
|
21
|
+
|
|
22
|
+
1. A CSS file contains the `--logo-filename` custom property
|
|
23
|
+
2. The referenced logo file exists in this `images/` directory
|
|
24
|
+
3. The logo meets validation requirements (PNG format, ≤500KB)
|
|
25
|
+
|
|
26
|
+
### Usage
|
|
27
|
+
|
|
28
|
+
#### Step 1: Add Logo File
|
|
29
|
+
|
|
30
|
+
Place your PNG logo in the `src/assets/images/` directory:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
src/assets/images/logo.company.png
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
#### Step 2: Reference in CSS
|
|
37
|
+
|
|
38
|
+
Add the logo filename to your CSS file:
|
|
39
|
+
|
|
40
|
+
```css
|
|
41
|
+
:root {
|
|
42
|
+
--logo-filename: logo.company.png;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
#### Step 3: Generate PDF with Logo
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
import { generatePdf } from 'legal-markdown-js';
|
|
50
|
+
|
|
51
|
+
const buffer = await generatePdf(content, 'output.pdf', {
|
|
52
|
+
cssPath: './styles/contract.css', // Contains --logo-filename
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Logo Requirements
|
|
57
|
+
|
|
58
|
+
| Property | Requirement | Notes |
|
|
59
|
+
| -------------- | -------------------- | ------------------------------------------------------ |
|
|
60
|
+
| **Format** | PNG only | Validated using PNG magic numbers |
|
|
61
|
+
| **Size** | ≤ 500KB | Configurable in `PDF_TEMPLATE_CONSTANTS.MAX_LOGO_SIZE` |
|
|
62
|
+
| **Dimensions** | Any | Automatically scaled to 40px height in headers |
|
|
63
|
+
| **Location** | `src/assets/images/` | Copied to `dist/assets/images/` during build |
|
|
64
|
+
|
|
65
|
+
### Validation Process
|
|
66
|
+
|
|
67
|
+
The system performs the following validation checks:
|
|
68
|
+
|
|
69
|
+
1. **File Existence**: Verifies the file exists in the images directory
|
|
70
|
+
2. **Size Check**: Ensures file size is within the 500KB limit
|
|
71
|
+
3. **Format Validation**: Checks PNG magic numbers (0x89, 0x50, 0x4E, 0x47)
|
|
72
|
+
4. **Base64 Encoding**: Converts valid files for embedding in PDF templates
|
|
73
|
+
|
|
74
|
+
### Error Handling
|
|
75
|
+
|
|
76
|
+
If logo validation fails, the system:
|
|
77
|
+
|
|
78
|
+
- Logs a warning message with the specific error
|
|
79
|
+
- Continues PDF generation without the logo
|
|
80
|
+
- Uses an empty header template as fallback
|
|
81
|
+
|
|
82
|
+
### Build Process
|
|
83
|
+
|
|
84
|
+
During the build process (`npm run build`), all assets are copied from
|
|
85
|
+
`src/assets/` to `dist/assets/` to ensure they're available in the compiled
|
|
86
|
+
package.
|
|
87
|
+
|
|
88
|
+
## File Naming Conventions
|
|
89
|
+
|
|
90
|
+
- Use descriptive names: `logo.company-name.png`
|
|
91
|
+
- Include version if needed: `logo.company.v2.png`
|
|
92
|
+
- Use lowercase with hyphens or dots for separation
|
|
93
|
+
- Avoid spaces and special characters
|
|
94
|
+
|
|
95
|
+
## Examples
|
|
96
|
+
|
|
97
|
+
### Basic Logo Integration
|
|
98
|
+
|
|
99
|
+
```css
|
|
100
|
+
/* styles/contract.css */
|
|
101
|
+
:root {
|
|
102
|
+
--logo-filename: logo.petalo.png;
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Multiple Logos for Different Documents
|
|
107
|
+
|
|
108
|
+
```css
|
|
109
|
+
/* styles/contract.css */
|
|
110
|
+
:root {
|
|
111
|
+
--logo-filename: logo.legal-dept.png;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* styles/invoice.css */
|
|
115
|
+
:root {
|
|
116
|
+
--logo-filename: logo.accounting.png;
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Conditional Logo Usage
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
// Different logos based on document type
|
|
124
|
+
const cssPath =
|
|
125
|
+
documentType === 'contract'
|
|
126
|
+
? './styles/contract.css' // Uses logo.legal.png
|
|
127
|
+
: './styles/general.css'; // Uses logo.company.png
|
|
128
|
+
|
|
129
|
+
const buffer = await generatePdf(content, 'output.pdf', { cssPath });
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Template Customization
|
|
133
|
+
|
|
134
|
+
For advanced logo positioning and styling, use the template helper functions:
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
import { PdfTemplates } from 'legal-markdown-js/generators/pdf-templates';
|
|
138
|
+
|
|
139
|
+
// Custom header with logo and text
|
|
140
|
+
const headerTemplate = PdfTemplates.generateCustomHeaderTemplate(
|
|
141
|
+
'Confidential Document',
|
|
142
|
+
logoBase64
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
// Standard header with just logo
|
|
146
|
+
const simpleHeader = PdfTemplates.generateHeaderTemplate(logoBase64);
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Troubleshooting
|
|
150
|
+
|
|
151
|
+
### Common Issues
|
|
152
|
+
|
|
153
|
+
**Logo not appearing in PDF:**
|
|
154
|
+
|
|
155
|
+
- Check CSS contains `--logo-filename: filename.png;`
|
|
156
|
+
- Verify file exists in `src/assets/images/`
|
|
157
|
+
- Ensure file is valid PNG format
|
|
158
|
+
- Check file size is under 500KB
|
|
159
|
+
|
|
160
|
+
**Build errors:**
|
|
161
|
+
|
|
162
|
+
- Ensure `src/assets/` is copied to `dist/` in build script
|
|
163
|
+
- Verify file permissions allow reading the logo file
|
|
164
|
+
|
|
165
|
+
**Invalid format errors:**
|
|
166
|
+
|
|
167
|
+
- Only PNG format is supported
|
|
168
|
+
- Use image conversion tools to convert other formats to PNG
|
|
169
|
+
|
|
170
|
+
### Debug Logging
|
|
171
|
+
|
|
172
|
+
Enable debug logging to see detailed logo detection information:
|
|
173
|
+
|
|
174
|
+
```typescript
|
|
175
|
+
import { generatePdf } from 'legal-markdown-js';
|
|
176
|
+
|
|
177
|
+
// Debug logs will show logo detection process
|
|
178
|
+
const buffer = await generatePdf(content, 'output.pdf', {
|
|
179
|
+
cssPath: './styles/contract.css',
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Look for log messages like:
|
|
184
|
+
|
|
185
|
+
- `Auto-detecting logo from CSS`
|
|
186
|
+
- `Logo detected and loaded successfully`
|
|
187
|
+
- `Logo detection failed, proceeding without logo`
|
|
188
|
+
|
|
189
|
+
## Related Documentation
|
|
190
|
+
|
|
191
|
+
- [PDF Generation Features](../../docs/FEATURES-GUIDE.md#pdf-with-logo-headersfooters)
|
|
192
|
+
- [CSS Classes Documentation](../../docs/CSS-CLASSES.md)
|
|
193
|
+
- [Architecture Overview](../../docs/ARCHITECTURE.md)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-generator.d.ts","sourceRoot":"","sources":["../../src/generators/pdf-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;
|
|
1
|
+
{"version":3,"file":"pdf-generator.d.ts","sourceRoot":"","sources":["../../src/generators/pdf-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAQH,OAAO,EAAiB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIvE;;;;;GAKG;AACH,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,8BAA8B;IAC9B,MAAM,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE;QACP,wCAAwC;QACxC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,0CAA0C;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,2CAA2C;QAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,yCAAyC;QACzC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0OD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAYtB;IAEF;;;;OAIG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAmJlB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,mBAAmB,CACvB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CAoBH;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
|
@@ -67,6 +67,8 @@ exports.pdfGenerator = exports.PdfGenerator = void 0;
|
|
|
67
67
|
const puppeteer = __importStar(require("puppeteer"));
|
|
68
68
|
const fs = __importStar(require("fs/promises"));
|
|
69
69
|
const path = __importStar(require("path"));
|
|
70
|
+
const https = __importStar(require("https"));
|
|
71
|
+
const http = __importStar(require("http"));
|
|
70
72
|
const logger_1 = require("../utils/logger");
|
|
71
73
|
const html_generator_1 = require("./html-generator");
|
|
72
74
|
const pdf_templates_1 = require("./pdf-templates");
|
|
@@ -161,6 +163,111 @@ async function loadAndEncodeImage(logoPath) {
|
|
|
161
163
|
throw error;
|
|
162
164
|
}
|
|
163
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Downloads and validates logo image from external URL, converting to base64
|
|
168
|
+
*
|
|
169
|
+
* Performs comprehensive validation:
|
|
170
|
+
* - URL accessibility and download
|
|
171
|
+
* - File size limit (500KB max)
|
|
172
|
+
* - PNG format validation using magic numbers
|
|
173
|
+
* - Base64 encoding for embedding
|
|
174
|
+
*
|
|
175
|
+
* @async
|
|
176
|
+
* @param {string} logoUrl - URL to the logo image
|
|
177
|
+
* @returns {Promise<string>} Base64 encoded image string
|
|
178
|
+
* @throws {Error} When download or validation fails
|
|
179
|
+
* @example
|
|
180
|
+
* ```typescript
|
|
181
|
+
* const base64Logo = await downloadAndEncodeImage('https://example.com/logo.png');
|
|
182
|
+
* // Returns: 'iVBORw0KGgoAAAANSUhEUgAAA...'
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
async function downloadAndEncodeImage(logoUrl) {
|
|
186
|
+
return new Promise((resolve, reject) => {
|
|
187
|
+
try {
|
|
188
|
+
logger_1.logger.debug('Downloading logo from URL', { logoUrl });
|
|
189
|
+
const protocol = logoUrl.startsWith('https://') ? https : http;
|
|
190
|
+
const request = protocol.get(logoUrl, response => {
|
|
191
|
+
// Check for redirect
|
|
192
|
+
if (response.statusCode === 301 || response.statusCode === 302) {
|
|
193
|
+
const redirectUrl = response.headers.location;
|
|
194
|
+
if (redirectUrl) {
|
|
195
|
+
logger_1.logger.debug('Following redirect', { from: logoUrl, to: redirectUrl });
|
|
196
|
+
downloadAndEncodeImage(redirectUrl).then(resolve).catch(reject);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Check for successful response
|
|
201
|
+
if (response.statusCode !== 200) {
|
|
202
|
+
reject(new Error(`Failed to download logo: HTTP ${response.statusCode}`));
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
// Check content length
|
|
206
|
+
const contentLength = parseInt(response.headers['content-length'] || '0', 10);
|
|
207
|
+
if (contentLength > constants_1.PDF_TEMPLATE_CONSTANTS.MAX_LOGO_SIZE) {
|
|
208
|
+
reject(new Error(`Logo file too large: ${contentLength} bytes ` +
|
|
209
|
+
`(max ${constants_1.PDF_TEMPLATE_CONSTANTS.MAX_LOGO_SIZE})`));
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
const chunks = [];
|
|
213
|
+
let downloadedBytes = 0;
|
|
214
|
+
response.on('data', (chunk) => {
|
|
215
|
+
downloadedBytes += chunk.length;
|
|
216
|
+
// Check size limit during download
|
|
217
|
+
if (downloadedBytes > constants_1.PDF_TEMPLATE_CONSTANTS.MAX_LOGO_SIZE) {
|
|
218
|
+
reject(new Error(`Logo file too large: ${downloadedBytes} bytes ` +
|
|
219
|
+
`(max ${constants_1.PDF_TEMPLATE_CONSTANTS.MAX_LOGO_SIZE})`));
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
chunks.push(chunk);
|
|
223
|
+
});
|
|
224
|
+
response.on('end', () => {
|
|
225
|
+
try {
|
|
226
|
+
const logoBuffer = Buffer.concat(chunks);
|
|
227
|
+
// Validate PNG magic numbers (0x89, 0x50, 0x4E, 0x47)
|
|
228
|
+
if (logoBuffer.length < 8 ||
|
|
229
|
+
logoBuffer[0] !== 0x89 ||
|
|
230
|
+
logoBuffer[1] !== 0x50 ||
|
|
231
|
+
logoBuffer[2] !== 0x4e ||
|
|
232
|
+
logoBuffer[3] !== 0x47) {
|
|
233
|
+
reject(new Error('Invalid logo file format: must be PNG'));
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
// Convert to base64
|
|
237
|
+
const base64Logo = logoBuffer.toString('base64');
|
|
238
|
+
logger_1.logger.debug('Logo downloaded and encoded successfully', {
|
|
239
|
+
url: logoUrl,
|
|
240
|
+
size: logoBuffer.length,
|
|
241
|
+
base64Length: base64Logo.length,
|
|
242
|
+
});
|
|
243
|
+
resolve(base64Logo);
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
reject(error);
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
response.on('error', error => {
|
|
250
|
+
reject(new Error(`Failed to download logo: ${error.message}`));
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
request.on('error', error => {
|
|
254
|
+
reject(new Error(`Failed to download logo: ${error.message}`));
|
|
255
|
+
});
|
|
256
|
+
// Set timeout for the request
|
|
257
|
+
request.setTimeout(10000, () => {
|
|
258
|
+
request.destroy();
|
|
259
|
+
reject(new Error('Logo download timeout (10 seconds)'));
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
logger_1.logger.error('Failed to download logo from URL', {
|
|
264
|
+
logoUrl,
|
|
265
|
+
error: error instanceof Error ? error.message : String(error),
|
|
266
|
+
});
|
|
267
|
+
reject(error);
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
164
271
|
/**
|
|
165
272
|
* PDF Generator for Legal Markdown Documents
|
|
166
273
|
*
|
|
@@ -276,12 +383,21 @@ class PdfGenerator {
|
|
|
276
383
|
logger_1.logger.debug('Auto-detecting logo from CSS', { cssPath: options.cssPath });
|
|
277
384
|
const logoFilename = await detectLogoFromCSS(options.cssPath);
|
|
278
385
|
if (logoFilename) {
|
|
279
|
-
//
|
|
280
|
-
|
|
281
|
-
|
|
386
|
+
// Check if logoFilename is an external URL or local file
|
|
387
|
+
if (logoFilename.startsWith('http://') || logoFilename.startsWith('https://')) {
|
|
388
|
+
// Handle external URL
|
|
389
|
+
logoBase64 = await downloadAndEncodeImage(logoFilename);
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
// Handle local file
|
|
393
|
+
const logoPath = path.join(__dirname, '../assets/images', logoFilename);
|
|
394
|
+
logoBase64 = await loadAndEncodeImage(logoPath);
|
|
395
|
+
}
|
|
282
396
|
logger_1.logger.info('Logo detected and loaded successfully', {
|
|
283
397
|
logoFilename,
|
|
284
|
-
logoPath
|
|
398
|
+
logoPath: logoFilename.startsWith('http')
|
|
399
|
+
? logoFilename
|
|
400
|
+
: `${__dirname}/../assets/images/${logoFilename}`,
|
|
285
401
|
cssPath: options.cssPath,
|
|
286
402
|
});
|
|
287
403
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-generator.js","sourceRoot":"","sources":["../../src/generators/pdf-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pdf-generator.js","sourceRoot":"","sources":["../../src/generators/pdf-generator.ts"],"names":[],"mappings":"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"}
|
package/dist/styles/default.css
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/* Default CSS for Legal Markdown HTML Generation */
|
|
2
2
|
|
|
3
|
+
/* Variables and Configuration */
|
|
4
|
+
:root {
|
|
5
|
+
/* Assets - Default logo placeholder */
|
|
6
|
+
--logo-filename: https://placehold.co/120x40/2563eb/ffffff.png?text=LOGO;
|
|
7
|
+
}
|
|
8
|
+
|
|
3
9
|
/* Base styles */
|
|
4
10
|
body {
|
|
5
11
|
font-family: -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "legal-markdown-js",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"build": "tsc && tsc-alias && cp -r src/styles dist/ && cp -r src/web dist/ && npm run build:umd && cp dist/legal-markdown.umd.min.js dist/web/",
|
|
8
|
+
"build": "tsc && tsc-alias && cp -r src/styles dist/ && cp -r src/web dist/ && cp -r src/assets dist/ && npm run build:umd && cp dist/legal-markdown.umd.min.js dist/web/",
|
|
9
9
|
"build:umd": "webpack --mode production --config webpack.config.js",
|
|
10
10
|
"build:watch": "tsc --watch",
|
|
11
11
|
"clean": "rm -rf dist coverage .turbo && tsc --build --clean",
|