docxmlater 0.2.0 → 0.4.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.
- package/README.md +69 -0
- package/dist/core/Document.d.ts +9 -21
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +65 -590
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentGenerator.d.ts +22 -0
- package/dist/core/DocumentGenerator.d.ts.map +1 -0
- package/dist/core/DocumentGenerator.js +161 -0
- package/dist/core/DocumentGenerator.js.map +1 -0
- package/dist/core/DocumentParser.d.ts +32 -0
- package/dist/core/DocumentParser.d.ts.map +1 -0
- package/dist/core/DocumentParser.js +404 -0
- package/dist/core/DocumentParser.js.map +1 -0
- package/dist/core/DocumentValidator.d.ts +46 -0
- package/dist/core/DocumentValidator.d.ts.map +1 -0
- package/dist/core/DocumentValidator.js +223 -0
- package/dist/core/DocumentValidator.js.map +1 -0
- package/dist/core/RelationshipManager.d.ts.map +1 -1
- package/dist/core/RelationshipManager.js +19 -3
- package/dist/core/RelationshipManager.js.map +1 -1
- package/dist/elements/Hyperlink.d.ts +1 -0
- package/dist/elements/Hyperlink.d.ts.map +1 -1
- package/dist/elements/Hyperlink.js +27 -2
- package/dist/elements/Hyperlink.js.map +1 -1
- package/dist/elements/Image.d.ts +5 -1
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +118 -12
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/ImageManager.d.ts +11 -3
- package/dist/elements/ImageManager.d.ts.map +1 -1
- package/dist/elements/ImageManager.js +72 -6
- package/dist/elements/ImageManager.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +10 -1
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -105,6 +105,34 @@ doc
|
|
|
105
105
|
await doc.save("with-image.docx");
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
+
### Add Hyperlinks
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
import { Document, Hyperlink } from "docxmlater";
|
|
112
|
+
|
|
113
|
+
const doc = Document.create();
|
|
114
|
+
|
|
115
|
+
// External link (to website)
|
|
116
|
+
const para1 = doc.createParagraph();
|
|
117
|
+
para1.addText("Visit ");
|
|
118
|
+
para1.addHyperlink(Hyperlink.createExternal("https://example.com", "our website"));
|
|
119
|
+
para1.addText(" for more information.");
|
|
120
|
+
|
|
121
|
+
// Email link
|
|
122
|
+
const para2 = doc.createParagraph();
|
|
123
|
+
para2.addHyperlink(Hyperlink.createEmail("user@example.com", "Contact us"));
|
|
124
|
+
|
|
125
|
+
// Internal link (to bookmark - requires bookmark to be defined)
|
|
126
|
+
const para3 = doc.createParagraph();
|
|
127
|
+
para3.addHyperlink(Hyperlink.createInternal("Section1", "Jump to Section 1"));
|
|
128
|
+
|
|
129
|
+
await doc.save("with-links.docx");
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Important:** External hyperlinks require relationship registration. Always use `Document.save()` or `Document.toBuffer()` which automatically handle this. Manually calling `toXML()` on external hyperlinks without setting relationship IDs will throw an error to prevent document corruption.
|
|
133
|
+
|
|
134
|
+
See [Hyperlink Best Practices](OPENXML_STRUCTURE_GUIDE.md#hyperlink-best-practices) for complete documentation.
|
|
135
|
+
|
|
108
136
|
### Use Custom Styles
|
|
109
137
|
|
|
110
138
|
```typescript
|
|
@@ -348,6 +376,40 @@ image.getExtension()
|
|
|
348
376
|
image.getImageData()
|
|
349
377
|
```
|
|
350
378
|
|
|
379
|
+
### Hyperlink
|
|
380
|
+
|
|
381
|
+
```typescript
|
|
382
|
+
// Factory methods (recommended)
|
|
383
|
+
Hyperlink.createExternal(url, text, formatting?)
|
|
384
|
+
Hyperlink.createWebLink(url, text?, formatting?) // Same as createExternal
|
|
385
|
+
Hyperlink.createEmail(email, text?, formatting?) // Adds "mailto:" prefix
|
|
386
|
+
Hyperlink.createInternal(anchor, text, formatting?)
|
|
387
|
+
|
|
388
|
+
// Generic constructor
|
|
389
|
+
Hyperlink.create(properties)
|
|
390
|
+
new Hyperlink(properties)
|
|
391
|
+
|
|
392
|
+
// Properties
|
|
393
|
+
hyperlink.getText()
|
|
394
|
+
hyperlink.setText(text)
|
|
395
|
+
hyperlink.getUrl()
|
|
396
|
+
hyperlink.getAnchor()
|
|
397
|
+
hyperlink.getTooltip()
|
|
398
|
+
hyperlink.setTooltip(tooltip)
|
|
399
|
+
hyperlink.setFormatting(formatting)
|
|
400
|
+
hyperlink.getFormatting()
|
|
401
|
+
hyperlink.isExternal()
|
|
402
|
+
hyperlink.isInternal()
|
|
403
|
+
|
|
404
|
+
// ⚠️ IMPORTANT: Relationship Management
|
|
405
|
+
// External links require relationship IDs before XML generation
|
|
406
|
+
// Always use Document.save() or Document.toBuffer() which handle this automatically
|
|
407
|
+
// Manual toXML() on external links without relationship IDs will throw error
|
|
408
|
+
hyperlink.setRelationshipId(id) // Usually managed by Document, not called directly
|
|
409
|
+
hyperlink.getRelationshipId()
|
|
410
|
+
hyperlink.toXML() // ⚠️ Requires relationshipId for external links
|
|
411
|
+
```
|
|
412
|
+
|
|
351
413
|
## Built-in Styles
|
|
352
414
|
|
|
353
415
|
All documents include 13 ready-to-use styles:
|
|
@@ -399,6 +461,13 @@ The `examples/` directory contains comprehensive examples:
|
|
|
399
461
|
- Multiple images in documents
|
|
400
462
|
- Images with text content
|
|
401
463
|
|
|
464
|
+
### Hyperlinks (`examples/07-hyperlinks/`)
|
|
465
|
+
|
|
466
|
+
- External hyperlinks (websites, emails)
|
|
467
|
+
- Internal hyperlinks (bookmarks)
|
|
468
|
+
- Hyperlink formatting and tooltips
|
|
469
|
+
- Validation and best practices
|
|
470
|
+
|
|
402
471
|
### Complete Examples (`examples/06-complete/`)
|
|
403
472
|
|
|
404
473
|
- Professional reports
|
package/dist/core/Document.d.ts
CHANGED
|
@@ -34,7 +34,12 @@ export interface DocumentProperties {
|
|
|
34
34
|
export interface DocumentOptions {
|
|
35
35
|
properties?: DocumentProperties;
|
|
36
36
|
maxMemoryUsagePercent?: number;
|
|
37
|
+
maxRssMB?: number;
|
|
38
|
+
useAbsoluteMemoryLimit?: boolean;
|
|
37
39
|
strictParsing?: boolean;
|
|
40
|
+
maxImageCount?: number;
|
|
41
|
+
maxTotalImageSizeMB?: number;
|
|
42
|
+
maxSingleImageSizeMB?: number;
|
|
38
43
|
}
|
|
39
44
|
type BodyElement = Paragraph | Table | TableOfContentsElement;
|
|
40
45
|
export declare class Document {
|
|
@@ -50,24 +55,15 @@ export declare class Document {
|
|
|
50
55
|
private bookmarkManager;
|
|
51
56
|
private revisionManager;
|
|
52
57
|
private commentManager;
|
|
53
|
-
private
|
|
54
|
-
private
|
|
55
|
-
private
|
|
58
|
+
private parser;
|
|
59
|
+
private generator;
|
|
60
|
+
private validator;
|
|
56
61
|
private constructor();
|
|
57
62
|
static create(options?: DocumentOptions): Document;
|
|
58
63
|
static load(filePath: string, options?: DocumentOptions): Promise<Document>;
|
|
59
64
|
static loadFromBuffer(buffer: Buffer, options?: DocumentOptions): Promise<Document>;
|
|
60
65
|
private initializeRequiredFiles;
|
|
61
66
|
private parseDocument;
|
|
62
|
-
private parseBodyElements;
|
|
63
|
-
private validateLoadedContent;
|
|
64
|
-
private parseParagraph;
|
|
65
|
-
private parseParagraphProperties;
|
|
66
|
-
private parseRun;
|
|
67
|
-
private parseRunProperties;
|
|
68
|
-
private parseHyperlink;
|
|
69
|
-
private parseRelationships;
|
|
70
|
-
private parseProperties;
|
|
71
67
|
addParagraph(paragraph: Paragraph): this;
|
|
72
68
|
createParagraph(text?: string): Paragraph;
|
|
73
69
|
addTable(table: Table): this;
|
|
@@ -83,18 +79,12 @@ export declare class Document {
|
|
|
83
79
|
clearParagraphs(): this;
|
|
84
80
|
setProperties(properties: DocumentProperties): this;
|
|
85
81
|
getProperties(): DocumentProperties;
|
|
86
|
-
private validateBeforeSave;
|
|
87
82
|
save(filePath: string): Promise<void>;
|
|
88
83
|
toBuffer(): Promise<Buffer>;
|
|
89
84
|
private updateDocumentXml;
|
|
90
85
|
private updateCoreProps;
|
|
91
86
|
private updateStylesXml;
|
|
92
87
|
private updateNumberingXml;
|
|
93
|
-
private generateContentTypes;
|
|
94
|
-
private generateRels;
|
|
95
|
-
private generateDocumentXml;
|
|
96
|
-
private generateCoreProps;
|
|
97
|
-
private generateAppProps;
|
|
98
88
|
getStylesManager(): StylesManager;
|
|
99
89
|
addStyle(style: Style): this;
|
|
100
90
|
getStyle(styleId: string): Style | undefined;
|
|
@@ -129,14 +119,12 @@ export declare class Document {
|
|
|
129
119
|
getImageManager(): ImageManager;
|
|
130
120
|
getRelationshipManager(): RelationshipManager;
|
|
131
121
|
private processHyperlinks;
|
|
132
|
-
private processHyperlinksInParagraph;
|
|
133
122
|
private saveImages;
|
|
134
123
|
private saveHeaders;
|
|
135
124
|
private saveFooters;
|
|
136
125
|
private updateRelationships;
|
|
137
126
|
private saveComments;
|
|
138
127
|
private updateContentTypesWithImagesHeadersFootersAndComments;
|
|
139
|
-
private generateContentTypesWithImagesHeadersFootersAndComments;
|
|
140
128
|
getBookmarkManager(): BookmarkManager;
|
|
141
129
|
createBookmark(name: string): Bookmark;
|
|
142
130
|
createHeadingBookmark(headingText: string): Bookmark;
|
|
@@ -188,7 +176,7 @@ export declare class Document {
|
|
|
188
176
|
element: string;
|
|
189
177
|
error: Error;
|
|
190
178
|
}>;
|
|
191
|
-
|
|
179
|
+
updateHyperlinkUrls(urlMap: Map<string, string>): number;
|
|
192
180
|
estimateSize(): {
|
|
193
181
|
paragraphs: number;
|
|
194
182
|
tables: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/core/Document.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/core/Document.ts"],"names":[],"mappings":"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"}
|