ppt-codec 1.0.2 → 1.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.
Files changed (100) hide show
  1. package/README.md +142 -38
  2. package/dist/content-write.cjs +114 -0
  3. package/dist/content-write.d.cts +11 -0
  4. package/dist/content-write.d.ts +11 -0
  5. package/dist/content-write.js +112 -0
  6. package/dist/content.cjs +22 -2
  7. package/dist/content.js +22 -2
  8. package/dist/document/color-scheme-write.cjs +57 -0
  9. package/dist/document/color-scheme-write.d.cts +4 -0
  10. package/dist/document/color-scheme-write.d.ts +4 -0
  11. package/dist/document/color-scheme-write.js +56 -0
  12. package/dist/document/document-atom-write.cjs +12 -0
  13. package/dist/document/document-atom-write.d.cts +5 -0
  14. package/dist/document/document-atom-write.d.ts +5 -0
  15. package/dist/document/document-atom-write.js +11 -0
  16. package/dist/document/fonts-write.cjs +17 -0
  17. package/dist/document/fonts-write.d.cts +4 -0
  18. package/dist/document/fonts-write.d.ts +4 -0
  19. package/dist/document/fonts-write.js +16 -0
  20. package/dist/document/master-write.cjs +128 -0
  21. package/dist/document/master-write.d.cts +15 -0
  22. package/dist/document/master-write.d.ts +15 -0
  23. package/dist/document/master-write.js +123 -0
  24. package/dist/document/notes-list-write.cjs +12 -0
  25. package/dist/document/notes-list-write.d.cts +5 -0
  26. package/dist/document/notes-list-write.d.ts +5 -0
  27. package/dist/document/notes-list-write.js +11 -0
  28. package/dist/document/notes-list.cjs +22 -0
  29. package/dist/document/notes-list.d.cts +9 -0
  30. package/dist/document/notes-list.d.ts +9 -0
  31. package/dist/document/notes-list.js +21 -0
  32. package/dist/document/notes-write.cjs +43 -0
  33. package/dist/document/notes-write.d.cts +6 -0
  34. package/dist/document/notes-write.d.ts +6 -0
  35. package/dist/document/notes-write.js +41 -0
  36. package/dist/document/notes.cjs +41 -0
  37. package/dist/document/notes.d.cts +12 -0
  38. package/dist/document/notes.d.ts +12 -0
  39. package/dist/document/notes.js +37 -0
  40. package/dist/document/slide-list-write.cjs +12 -0
  41. package/dist/document/slide-list-write.d.cts +8 -0
  42. package/dist/document/slide-list-write.d.ts +8 -0
  43. package/dist/document/slide-list-write.js +11 -0
  44. package/dist/drawing/shapes-write.cjs +60 -0
  45. package/dist/drawing/shapes-write.d.cts +10 -0
  46. package/dist/drawing/shapes-write.d.ts +10 -0
  47. package/dist/drawing/shapes-write.js +58 -0
  48. package/dist/errors.cjs +7 -0
  49. package/dist/errors.d.cts +4 -1
  50. package/dist/errors.d.ts +4 -1
  51. package/dist/errors.js +7 -1
  52. package/dist/index.cjs +112 -3
  53. package/dist/index.d.cts +24 -7
  54. package/dist/index.d.ts +24 -7
  55. package/dist/index.js +25 -8
  56. package/dist/metadata.cjs +14 -0
  57. package/dist/metadata.d.cts +6 -0
  58. package/dist/metadata.d.ts +6 -0
  59. package/dist/metadata.js +13 -0
  60. package/dist/read.cjs +33 -8
  61. package/dist/read.d.cts +5 -1
  62. package/dist/read.d.ts +5 -1
  63. package/dist/read.js +32 -10
  64. package/dist/record/types.cjs +8 -0
  65. package/dist/record/types.d.cts +5 -1
  66. package/dist/record/types.d.ts +5 -1
  67. package/dist/record/types.js +5 -1
  68. package/dist/record/write.cjs +75 -0
  69. package/dist/record/write.d.cts +17 -0
  70. package/dist/record/write.d.ts +17 -0
  71. package/dist/record/write.js +65 -0
  72. package/dist/stream/current-user-write.cjs +13 -0
  73. package/dist/stream/current-user-write.d.cts +4 -0
  74. package/dist/stream/current-user-write.d.ts +4 -0
  75. package/dist/stream/current-user-write.js +12 -0
  76. package/dist/stream/current-user.cjs +7 -5
  77. package/dist/stream/current-user.d.cts +3 -1
  78. package/dist/stream/current-user.d.ts +3 -1
  79. package/dist/stream/current-user.js +6 -6
  80. package/dist/stream/persist-write.cjs +14 -0
  81. package/dist/stream/persist-write.d.cts +16 -0
  82. package/dist/stream/persist-write.d.ts +16 -0
  83. package/dist/stream/persist-write.js +12 -0
  84. package/dist/text/style-write.cjs +79 -0
  85. package/dist/text/style-write.d.cts +5 -0
  86. package/dist/text/style-write.d.ts +5 -0
  87. package/dist/text/style-write.js +78 -0
  88. package/dist/text/style.cjs +85 -30
  89. package/dist/text/style.d.cts +50 -1
  90. package/dist/text/style.d.ts +50 -1
  91. package/dist/text/style.js +44 -31
  92. package/dist/units.cjs +4 -0
  93. package/dist/units.d.cts +2 -1
  94. package/dist/units.d.ts +2 -1
  95. package/dist/units.js +4 -1
  96. package/dist/write.cjs +145 -0
  97. package/dist/write.d.cts +11 -0
  98. package/dist/write.d.ts +11 -0
  99. package/dist/write.js +142 -0
  100. package/package.json +4 -4
package/dist/index.cjs CHANGED
@@ -3,17 +3,34 @@ const require_errors = require("./errors.cjs");
3
3
  const require_record_header = require("./record/header.cjs");
4
4
  const require_record_tree = require("./record/tree.cjs");
5
5
  const require_record_types = require("./record/types.cjs");
6
- const require_text_atoms = require("./text/atoms.cjs");
7
6
  const require_text_style = require("./text/style.cjs");
7
+ const require_text_atoms = require("./text/atoms.cjs");
8
+ const require_units = require("./units.cjs");
9
+ const require_content_write = require("./content-write.cjs");
8
10
  const require_content = require("./content.cjs");
11
+ const require_record_write = require("./record/write.cjs");
12
+ const require_document_color_scheme_write = require("./document/color-scheme-write.cjs");
9
13
  const require_document_document_atom = require("./document/document-atom.cjs");
14
+ const require_document_document_atom_write = require("./document/document-atom-write.cjs");
10
15
  const require_document_fonts = require("./document/fonts.cjs");
11
- const require_document_slide_list = require("./document/slide-list.cjs");
16
+ const require_document_fonts_write = require("./document/fonts-write.cjs");
17
+ const require_text_style_write = require("./text/style-write.cjs");
18
+ const require_drawing_shapes_write = require("./drawing/shapes-write.cjs");
19
+ const require_document_notes_list = require("./document/notes-list.cjs");
12
20
  const require_drawing_shapes = require("./drawing/shapes.cjs");
21
+ const require_document_notes = require("./document/notes.cjs");
22
+ const require_document_slide_list = require("./document/slide-list.cjs");
13
23
  const require_stream_current_user = require("./stream/current-user.cjs");
14
24
  const require_stream_persist = require("./stream/persist.cjs");
15
- const require_units = require("./units.cjs");
16
25
  const require_read = require("./read.cjs");
26
+ const require_document_master_write = require("./document/master-write.cjs");
27
+ const require_document_notes_list_write = require("./document/notes-list-write.cjs");
28
+ const require_document_notes_write = require("./document/notes-write.cjs");
29
+ const require_document_slide_list_write = require("./document/slide-list-write.cjs");
30
+ const require_metadata = require("./metadata.cjs");
31
+ const require_stream_current_user_write = require("./stream/current-user-write.cjs");
32
+ const require_stream_persist_write = require("./stream/persist-write.cjs");
33
+ const require_write = require("./write.cjs");
17
34
  exports.ALIGN_CENTER = require_text_style.ALIGN_CENTER;
18
35
  exports.ALIGN_DISTRIBUTED = require_text_style.ALIGN_DISTRIBUTED;
19
36
  exports.ALIGN_JUSTIFY = require_text_style.ALIGN_JUSTIFY;
@@ -21,14 +38,37 @@ exports.ALIGN_JUSTIFY_LOW = require_text_style.ALIGN_JUSTIFY_LOW;
21
38
  exports.ALIGN_LEFT = require_text_style.ALIGN_LEFT;
22
39
  exports.ALIGN_RIGHT = require_text_style.ALIGN_RIGHT;
23
40
  exports.ALIGN_THAI_DISTRIBUTED = require_text_style.ALIGN_THAI_DISTRIBUTED;
41
+ exports.CF_ANSI_TYPEFACE = require_text_style.CF_ANSI_TYPEFACE;
42
+ exports.CF_BOLD = require_text_style.CF_BOLD;
43
+ exports.CF_COLOR = require_text_style.CF_COLOR;
44
+ exports.CF_EMBOSS = require_text_style.CF_EMBOSS;
45
+ exports.CF_FEHINT = require_text_style.CF_FEHINT;
46
+ exports.CF_HAS_STYLE = require_text_style.CF_HAS_STYLE;
47
+ exports.CF_ITALIC = require_text_style.CF_ITALIC;
48
+ exports.CF_KUMI = require_text_style.CF_KUMI;
49
+ exports.CF_OLD_EA_TYPEFACE = require_text_style.CF_OLD_EA_TYPEFACE;
50
+ exports.CF_POSITION = require_text_style.CF_POSITION;
51
+ exports.CF_SHADOW = require_text_style.CF_SHADOW;
52
+ exports.CF_SIZE = require_text_style.CF_SIZE;
53
+ exports.CF_SYMBOL_TYPEFACE = require_text_style.CF_SYMBOL_TYPEFACE;
54
+ exports.CF_TYPEFACE = require_text_style.CF_TYPEFACE;
55
+ exports.CF_UNDERLINE = require_text_style.CF_UNDERLINE;
56
+ exports.COLOR_INDEX_SRGB = require_text_style.COLOR_INDEX_SRGB;
24
57
  exports.CONTAINER_REC_VER = require_record_header.CONTAINER_REC_VER;
58
+ exports.CURRENT_USER_DOC_FILE_VERSION = require_stream_current_user.CURRENT_USER_DOC_FILE_VERSION;
59
+ exports.CURRENT_USER_FIXED_SIZE = require_stream_current_user.CURRENT_USER_FIXED_SIZE;
25
60
  exports.CURRENT_USER_HEADER_TOKEN_ENCRYPTED = require_stream_current_user.CURRENT_USER_HEADER_TOKEN_ENCRYPTED;
26
61
  exports.CURRENT_USER_HEADER_TOKEN_PLAIN = require_stream_current_user.CURRENT_USER_HEADER_TOKEN_PLAIN;
27
62
  exports.CURRENT_USER_STREAM = require_read.CURRENT_USER_STREAM;
63
+ exports.DEFAULT_INSET_LEFT_RIGHT_PT = require_read.DEFAULT_INSET_LEFT_RIGHT_PT;
64
+ exports.DEFAULT_INSET_TOP_BOTTOM_PT = require_read.DEFAULT_INSET_TOP_BOTTOM_PT;
28
65
  exports.LINE_BREAK = require_text_atoms.LINE_BREAK;
66
+ exports.MASTER_SLIDE_ID = require_document_master_write.MASTER_SLIDE_ID;
29
67
  exports.MASTER_UNITS_PER_POINT = require_units.MASTER_UNITS_PER_POINT;
68
+ exports.NOTES_MASTER_SLIDE_ID_REF = require_document_notes.NOTES_MASTER_SLIDE_ID_REF;
30
69
  exports.OfficeArtChildAnchor = require_record_types.OfficeArtChildAnchor;
31
70
  exports.OfficeArtClientAnchor = require_record_types.OfficeArtClientAnchor;
71
+ exports.OfficeArtClientData = require_record_types.OfficeArtClientData;
32
72
  exports.OfficeArtClientTextbox = require_record_types.OfficeArtClientTextbox;
33
73
  exports.OfficeArtDgContainer = require_record_types.OfficeArtDgContainer;
34
74
  exports.OfficeArtFOPT = require_record_types.OfficeArtFOPT;
@@ -37,12 +77,35 @@ exports.OfficeArtFSPGR = require_record_types.OfficeArtFSPGR;
37
77
  exports.OfficeArtSpContainer = require_record_types.OfficeArtSpContainer;
38
78
  exports.OfficeArtSpgrContainer = require_record_types.OfficeArtSpgrContainer;
39
79
  exports.PARAGRAPH_SEPARATOR = require_text_atoms.PARAGRAPH_SEPARATOR;
80
+ exports.PF_ALIGN = require_text_style.PF_ALIGN;
81
+ exports.PF_BULLET_CHAR = require_text_style.PF_BULLET_CHAR;
82
+ exports.PF_BULLET_COLOR = require_text_style.PF_BULLET_COLOR;
83
+ exports.PF_BULLET_FONT = require_text_style.PF_BULLET_FONT;
84
+ exports.PF_BULLET_HAS_COLOR = require_text_style.PF_BULLET_HAS_COLOR;
85
+ exports.PF_BULLET_HAS_FONT = require_text_style.PF_BULLET_HAS_FONT;
86
+ exports.PF_BULLET_HAS_SIZE = require_text_style.PF_BULLET_HAS_SIZE;
87
+ exports.PF_BULLET_SIZE = require_text_style.PF_BULLET_SIZE;
88
+ exports.PF_CHAR_WRAP = require_text_style.PF_CHAR_WRAP;
89
+ exports.PF_DEFAULT_TAB_SIZE = require_text_style.PF_DEFAULT_TAB_SIZE;
90
+ exports.PF_FONT_ALIGN = require_text_style.PF_FONT_ALIGN;
91
+ exports.PF_HAS_BULLET = require_text_style.PF_HAS_BULLET;
92
+ exports.PF_INDENT = require_text_style.PF_INDENT;
93
+ exports.PF_LEFT_MARGIN = require_text_style.PF_LEFT_MARGIN;
94
+ exports.PF_LINE_SPACING = require_text_style.PF_LINE_SPACING;
95
+ exports.PF_OVERFLOW = require_text_style.PF_OVERFLOW;
96
+ exports.PF_SPACE_AFTER = require_text_style.PF_SPACE_AFTER;
97
+ exports.PF_SPACE_BEFORE = require_text_style.PF_SPACE_BEFORE;
98
+ exports.PF_TAB_STOPS = require_text_style.PF_TAB_STOPS;
99
+ exports.PF_TEXT_DIRECTION = require_text_style.PF_TEXT_DIRECTION;
100
+ exports.PF_WORD_WRAP = require_text_style.PF_WORD_WRAP;
40
101
  exports.POINTS_PER_INCH = require_units.POINTS_PER_INCH;
41
102
  exports.POWERPOINT_DOCUMENT_STREAM = require_read.POWERPOINT_DOCUMENT_STREAM;
42
103
  exports.PptEncryptedError = require_errors.PptEncryptedError;
43
104
  exports.PptFormatError = require_errors.PptFormatError;
105
+ exports.PptUnsupportedContentError = require_errors.PptUnsupportedContentError;
44
106
  exports.RECORD_HEADER_SIZE = require_record_header.RECORD_HEADER_SIZE;
45
107
  exports.RT_CString = require_record_types.RT_CString;
108
+ exports.RT_ColorSchemeAtom = require_record_types.RT_ColorSchemeAtom;
46
109
  exports.RT_CryptSession10Container = require_record_types.RT_CryptSession10Container;
47
110
  exports.RT_CurrentUserAtom = require_record_types.RT_CurrentUserAtom;
48
111
  exports.RT_Document = require_record_types.RT_Document;
@@ -57,8 +120,10 @@ exports.RT_List = require_record_types.RT_List;
57
120
  exports.RT_MainMaster = require_record_types.RT_MainMaster;
58
121
  exports.RT_MasterTextPropAtom = require_record_types.RT_MasterTextPropAtom;
59
122
  exports.RT_Notes = require_record_types.RT_Notes;
123
+ exports.RT_NotesAtom = require_record_types.RT_NotesAtom;
60
124
  exports.RT_OutlineTextRefAtom = require_record_types.RT_OutlineTextRefAtom;
61
125
  exports.RT_PersistDirectoryAtom = require_record_types.RT_PersistDirectoryAtom;
126
+ exports.RT_PlaceholderAtom = require_record_types.RT_PlaceholderAtom;
62
127
  exports.RT_Slide = require_record_types.RT_Slide;
63
128
  exports.RT_SlideAtom = require_record_types.RT_SlideAtom;
64
129
  exports.RT_SlideListWithText = require_record_types.RT_SlideListWithText;
@@ -75,6 +140,12 @@ exports.RT_UserEditAtom = require_record_types.RT_UserEditAtom;
75
140
  exports.SLIDE_LIST_INSTANCE_MASTERS = require_record_types.SLIDE_LIST_INSTANCE_MASTERS;
76
141
  exports.SLIDE_LIST_INSTANCE_NOTES = require_record_types.SLIDE_LIST_INSTANCE_NOTES;
77
142
  exports.SLIDE_LIST_INSTANCE_SLIDES = require_record_types.SLIDE_LIST_INSTANCE_SLIDES;
143
+ exports.STYLE_BOLD = require_text_style.STYLE_BOLD;
144
+ exports.STYLE_EMBOSS = require_text_style.STYLE_EMBOSS;
145
+ exports.STYLE_ITALIC = require_text_style.STYLE_ITALIC;
146
+ exports.STYLE_SHADOW = require_text_style.STYLE_SHADOW;
147
+ exports.STYLE_UNDERLINE = require_text_style.STYLE_UNDERLINE;
148
+ exports.SUMMARY_INFORMATION_STREAM = require_read.SUMMARY_INFORMATION_STREAM;
78
149
  exports.TEXT_TYPE_BODY = require_text_atoms.TEXT_TYPE_BODY;
79
150
  exports.TEXT_TYPE_CENTER_BODY = require_text_atoms.TEXT_TYPE_CENTER_BODY;
80
151
  exports.TEXT_TYPE_CENTER_TITLE = require_text_atoms.TEXT_TYPE_CENTER_TITLE;
@@ -83,19 +154,31 @@ exports.TEXT_TYPE_NOTES = require_text_atoms.TEXT_TYPE_NOTES;
83
154
  exports.TEXT_TYPE_OTHER = require_text_atoms.TEXT_TYPE_OTHER;
84
155
  exports.TEXT_TYPE_QUARTER_BODY = require_text_atoms.TEXT_TYPE_QUARTER_BODY;
85
156
  exports.TEXT_TYPE_TITLE = require_text_atoms.TEXT_TYPE_TITLE;
157
+ exports.asciiBytes = require_record_write.asciiBytes;
86
158
  exports.buildParagraphs = require_content.buildParagraphs;
87
159
  exports.buildPersistDirectory = require_stream_persist.buildPersistDirectory;
160
+ exports.buildTextBody = require_content_write.buildTextBody;
88
161
  exports.characterCountOf = require_text_atoms.characterCountOf;
89
162
  exports.childRecords = require_record_tree.childRecords;
163
+ exports.collectFontFamilies = require_content_write.collectFontFamilies;
164
+ exports.concatBytes = require_record_write.concatBytes;
90
165
  exports.findChild = require_record_tree.findChild;
91
166
  exports.findChildren = require_record_tree.findChildren;
92
167
  exports.findDescendants = require_record_tree.findDescendants;
168
+ exports.i16le = require_record_write.i16le;
169
+ exports.i32le = require_record_write.i32le;
93
170
  exports.isContainerRecord = require_record_header.isContainerRecord;
171
+ exports.layoutMetadataToSummaryInformation = require_metadata.layoutMetadataToSummaryInformation;
94
172
  exports.masterUnitsToPoints = require_units.masterUnitsToPoints;
173
+ exports.pointsToMasterUnits = require_units.pointsToMasterUnits;
95
174
  exports.readCurrentUserAtom = require_stream_current_user.readCurrentUserAtom;
96
175
  exports.readDocumentAtom = require_document_document_atom.readDocumentAtom;
97
176
  exports.readDrawingShapes = require_drawing_shapes.readDrawingShapes;
98
177
  exports.readFontNames = require_document_fonts.readFontNames;
178
+ exports.readNotesAtom = require_document_notes.readNotesAtom;
179
+ exports.readNotesContainerAtom = require_document_notes.readNotesContainerAtom;
180
+ exports.readNotesListWithText = require_document_notes_list.readNotesListWithText;
181
+ exports.readNotesText = require_document_notes.readNotesText;
99
182
  exports.readPersistDirectoryAtom = require_stream_persist.readPersistDirectoryAtom;
100
183
  exports.readPpt = require_read.readPpt;
101
184
  exports.readPptContent = require_read.readPptContent;
@@ -110,3 +193,29 @@ exports.readTextHeaderAtom = require_text_atoms.readTextHeaderAtom;
110
193
  exports.readUserEditAtom = require_stream_persist.readUserEditAtom;
111
194
  exports.resolvePersistObject = require_stream_persist.resolvePersistObject;
112
195
  exports.splitParagraphs = require_text_atoms.splitParagraphs;
196
+ exports.u16le = require_record_write.u16le;
197
+ exports.u32le = require_record_write.u32le;
198
+ exports.u8 = require_record_write.u8;
199
+ exports.utf16le = require_record_write.utf16le;
200
+ exports.writeAtom = require_record_write.writeAtom;
201
+ exports.writeContainer = require_record_write.writeContainer;
202
+ exports.writeCurrentUserAtom = require_stream_current_user_write.writeCurrentUserAtom;
203
+ exports.writeDocumentAtom = require_document_document_atom_write.writeDocumentAtom;
204
+ exports.writeDrawingWithClientData = require_drawing_shapes_write.writeDrawingWithClientData;
205
+ exports.writeEnvironment = require_document_fonts_write.writeEnvironment;
206
+ exports.writeMainMaster = require_document_master_write.writeMainMaster;
207
+ exports.writeMasterListWithText = require_document_master_write.writeMasterListWithText;
208
+ exports.writeNotesAtom = require_document_notes_write.writeNotesAtom;
209
+ exports.writeNotesContainer = require_document_notes_write.writeNotesContainer;
210
+ exports.writeNotesListWithText = require_document_notes_list_write.writeNotesListWithText;
211
+ exports.writePersistDirectoryAtom = require_stream_persist_write.writePersistDirectoryAtom;
212
+ exports.writePpt = require_write.writePpt;
213
+ exports.writePptContent = require_write.writePptContent;
214
+ exports.writePptStreams = require_write.writePptStreams;
215
+ exports.writeSlideAtom = require_document_master_write.writeSlideAtom;
216
+ exports.writeSlideAtomForSlide = require_document_master_write.writeSlideAtomForSlide;
217
+ exports.writeSlideDrawing = require_drawing_shapes_write.writeSlideDrawing;
218
+ exports.writeSlideListWithText = require_document_slide_list_write.writeSlideListWithText;
219
+ exports.writeSlideSchemeColorSchemeAtom = require_document_color_scheme_write.writeSlideSchemeColorSchemeAtom;
220
+ exports.writeStyleTextPropAtom = require_text_style_write.writeStyleTextPropAtom;
221
+ exports.writeUserEditAtom = require_stream_persist_write.writeUserEditAtom;
package/dist/index.d.cts CHANGED
@@ -1,16 +1,33 @@
1
1
  import { a as readRecordHeader, i as isContainerRecord, n as RECORD_HEADER_SIZE, r as RecordHeader, t as CONTAINER_REC_VER } from "./header-C5eAd16_.cjs";
2
2
  import { a as findDescendants, i as findChildren, n as childRecords, o as readRecordAt, r as findChild, s as readRecordSequence, t as PptRecord } from "./tree-Du_LXAF0.cjs";
3
- import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CharacterProperties, ParagraphProperties, RgbColor, StyleRun, StyleTextProps, readStyleTextPropAtom } from "./text/style.cjs";
3
+ import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CharacterProperties, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom } from "./text/style.cjs";
4
+ import { TextBody, buildTextBody, collectFontFamilies } from "./content-write.cjs";
4
5
  import { buildParagraphs } from "./content.cjs";
6
+ import { writeSlideSchemeColorSchemeAtom } from "./document/color-scheme-write.cjs";
7
+ import { writeDocumentAtom } from "./document/document-atom-write.cjs";
5
8
  import { DocumentAtom, PointStruct, readDocumentAtom } from "./document/document-atom.cjs";
9
+ import { writeEnvironment } from "./document/fonts-write.cjs";
6
10
  import { readFontNames } from "./document/fonts.cjs";
11
+ import { MASTER_SLIDE_ID, writeMainMaster, writeMasterListWithText, writeSlideAtom, writeSlideAtomForSlide } from "./document/master-write.cjs";
12
+ import { NotesPersist, readNotesListWithText } from "./document/notes-list.cjs";
13
+ import { writeNotesListWithText } from "./document/notes-list-write.cjs";
14
+ import { writeNotesAtom, writeNotesContainer } from "./document/notes-write.cjs";
15
+ import { NOTES_MASTER_SLIDE_ID_REF, NotesAtom, readNotesAtom, readNotesContainerAtom, readNotesText } from "./document/notes.cjs";
16
+ import { SlidePersistRef, writeSlideListWithText } from "./document/slide-list-write.cjs";
7
17
  import { OutlineText, SlidePersist, readSlideListWithText } from "./document/slide-list.cjs";
18
+ import { DrawingShape, writeDrawingWithClientData, writeSlideDrawing } from "./drawing/shapes-write.cjs";
8
19
  import { PptShape, ShapeRect, readDrawingShapes } from "./drawing/shapes.cjs";
9
- import { PptEncryptedError, PptFormatError } from "./errors.cjs";
10
- import { CURRENT_USER_STREAM, POWERPOINT_DOCUMENT_STREAM, PptDocument, readPpt, readPptContent, readPptStreams } from "./read.cjs";
11
- import { OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, RT_CString, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES } from "./record/types.cjs";
12
- import { CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CurrentUser, readCurrentUserAtom } from "./stream/current-user.cjs";
20
+ import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from "./errors.cjs";
21
+ import { layoutMetadataToSummaryInformation } from "./metadata.cjs";
22
+ import { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, POWERPOINT_DOCUMENT_STREAM, PptDocument, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams } from "./read.cjs";
23
+ import { OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES } from "./record/types.cjs";
24
+ import { RecordWriteOptions, asciiBytes, concatBytes, i16le, i32le, u16le, u32le, u8, utf16le, writeAtom, writeContainer } from "./record/write.cjs";
25
+ import { CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CurrentUser, readCurrentUserAtom } from "./stream/current-user.cjs";
26
+ import { writeCurrentUserAtom } from "./stream/current-user-write.cjs";
13
27
  import { PersistDirectory, UserEdit, buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.cjs";
28
+ import { PersistDirectoryEntryToWrite, UserEditFields, writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.cjs";
14
29
  import { LINE_BREAK, PARAGRAPH_SEPARATOR, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextParagraph, characterCountOf, readTextBody, readTextHeaderAtom, splitParagraphs } from "./text/atoms.cjs";
15
- import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints } from "./units.cjs";
16
- export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CONTAINER_REC_VER, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, CharacterProperties, CurrentUser, DocumentAtom, LINE_BREAK, MASTER_UNITS_PER_POINT, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OutlineText, PARAGRAPH_SEPARATOR, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, ParagraphProperties, PersistDirectory, PointStruct, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, RECORD_HEADER_SIZE, RT_CString, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, RecordHeader, RgbColor, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, ShapeRect, SlidePersist, StyleRun, StyleTextProps, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextParagraph, UserEdit, buildParagraphs, buildPersistDirectory, characterCountOf, childRecords, findChild, findChildren, findDescendants, isContainerRecord, masterUnitsToPoints, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs };
30
+ import { writeStyleTextPropAtom } from "./text/style-write.cjs";
31
+ import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.cjs";
32
+ import { writePpt, writePptContent, writePptStreams } from "./write.cjs";
33
+ export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, CharacterProperties, CurrentUser, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, DocumentAtom, DrawingShape, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OutlineText, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, RecordHeader, RecordWriteOptions, RgbColor, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextBody, TextParagraph, UserEdit, UserEditFields, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
package/dist/index.d.ts CHANGED
@@ -1,16 +1,33 @@
1
1
  import { a as readRecordHeader, i as isContainerRecord, n as RECORD_HEADER_SIZE, r as RecordHeader, t as CONTAINER_REC_VER } from "./header-C5eAd16_.js";
2
2
  import { a as findDescendants, i as findChildren, n as childRecords, o as readRecordAt, r as findChild, s as readRecordSequence, t as PptRecord } from "./tree-PMcPNgd-.js";
3
- import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CharacterProperties, ParagraphProperties, RgbColor, StyleRun, StyleTextProps, readStyleTextPropAtom } from "./text/style.js";
3
+ import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CharacterProperties, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom } from "./text/style.js";
4
+ import { TextBody, buildTextBody, collectFontFamilies } from "./content-write.js";
4
5
  import { buildParagraphs } from "./content.js";
6
+ import { writeSlideSchemeColorSchemeAtom } from "./document/color-scheme-write.js";
7
+ import { writeDocumentAtom } from "./document/document-atom-write.js";
5
8
  import { DocumentAtom, PointStruct, readDocumentAtom } from "./document/document-atom.js";
9
+ import { writeEnvironment } from "./document/fonts-write.js";
6
10
  import { readFontNames } from "./document/fonts.js";
11
+ import { MASTER_SLIDE_ID, writeMainMaster, writeMasterListWithText, writeSlideAtom, writeSlideAtomForSlide } from "./document/master-write.js";
12
+ import { NotesPersist, readNotesListWithText } from "./document/notes-list.js";
13
+ import { writeNotesListWithText } from "./document/notes-list-write.js";
14
+ import { writeNotesAtom, writeNotesContainer } from "./document/notes-write.js";
15
+ import { NOTES_MASTER_SLIDE_ID_REF, NotesAtom, readNotesAtom, readNotesContainerAtom, readNotesText } from "./document/notes.js";
16
+ import { SlidePersistRef, writeSlideListWithText } from "./document/slide-list-write.js";
7
17
  import { OutlineText, SlidePersist, readSlideListWithText } from "./document/slide-list.js";
18
+ import { DrawingShape, writeDrawingWithClientData, writeSlideDrawing } from "./drawing/shapes-write.js";
8
19
  import { PptShape, ShapeRect, readDrawingShapes } from "./drawing/shapes.js";
9
- import { PptEncryptedError, PptFormatError } from "./errors.js";
10
- import { CURRENT_USER_STREAM, POWERPOINT_DOCUMENT_STREAM, PptDocument, readPpt, readPptContent, readPptStreams } from "./read.js";
11
- import { OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, RT_CString, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES } from "./record/types.js";
12
- import { CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CurrentUser, readCurrentUserAtom } from "./stream/current-user.js";
20
+ import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from "./errors.js";
21
+ import { layoutMetadataToSummaryInformation } from "./metadata.js";
22
+ import { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, POWERPOINT_DOCUMENT_STREAM, PptDocument, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams } from "./read.js";
23
+ import { OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES } from "./record/types.js";
24
+ import { RecordWriteOptions, asciiBytes, concatBytes, i16le, i32le, u16le, u32le, u8, utf16le, writeAtom, writeContainer } from "./record/write.js";
25
+ import { CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CurrentUser, readCurrentUserAtom } from "./stream/current-user.js";
26
+ import { writeCurrentUserAtom } from "./stream/current-user-write.js";
13
27
  import { PersistDirectory, UserEdit, buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.js";
28
+ import { PersistDirectoryEntryToWrite, UserEditFields, writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.js";
14
29
  import { LINE_BREAK, PARAGRAPH_SEPARATOR, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextParagraph, characterCountOf, readTextBody, readTextHeaderAtom, splitParagraphs } from "./text/atoms.js";
15
- import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints } from "./units.js";
16
- export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CONTAINER_REC_VER, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, CharacterProperties, CurrentUser, DocumentAtom, LINE_BREAK, MASTER_UNITS_PER_POINT, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OutlineText, PARAGRAPH_SEPARATOR, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, ParagraphProperties, PersistDirectory, PointStruct, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, RECORD_HEADER_SIZE, RT_CString, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, RecordHeader, RgbColor, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, ShapeRect, SlidePersist, StyleRun, StyleTextProps, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextParagraph, UserEdit, buildParagraphs, buildPersistDirectory, characterCountOf, childRecords, findChild, findChildren, findDescendants, isContainerRecord, masterUnitsToPoints, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs };
30
+ import { writeStyleTextPropAtom } from "./text/style-write.js";
31
+ import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.js";
32
+ import { writePpt, writePptContent, writePptStreams } from "./write.js";
33
+ export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, CharacterProperties, CurrentUser, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, DocumentAtom, DrawingShape, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OutlineText, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, RecordHeader, RecordWriteOptions, RgbColor, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextBody, TextParagraph, UserEdit, UserEditFields, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
package/dist/index.js CHANGED
@@ -1,16 +1,33 @@
1
- import { PptEncryptedError, PptFormatError } from "./errors.js";
1
+ import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from "./errors.js";
2
2
  import { CONTAINER_REC_VER, RECORD_HEADER_SIZE, isContainerRecord, readRecordHeader } from "./record/header.js";
3
3
  import { childRecords, findChild, findChildren, findDescendants, readRecordAt, readRecordSequence } from "./record/tree.js";
4
- import { OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, RT_CString, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES } from "./record/types.js";
4
+ import { OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES } from "./record/types.js";
5
+ import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, readStyleTextPropAtom } from "./text/style.js";
5
6
  import { LINE_BREAK, PARAGRAPH_SEPARATOR, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, characterCountOf, readTextBody, readTextHeaderAtom, splitParagraphs } from "./text/atoms.js";
6
- import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, readStyleTextPropAtom } from "./text/style.js";
7
+ import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.js";
8
+ import { buildTextBody, collectFontFamilies } from "./content-write.js";
7
9
  import { buildParagraphs } from "./content.js";
10
+ import { asciiBytes, concatBytes, i16le, i32le, u16le, u32le, u8, utf16le, writeAtom, writeContainer } from "./record/write.js";
11
+ import { writeSlideSchemeColorSchemeAtom } from "./document/color-scheme-write.js";
8
12
  import { readDocumentAtom } from "./document/document-atom.js";
13
+ import { writeDocumentAtom } from "./document/document-atom-write.js";
9
14
  import { readFontNames } from "./document/fonts.js";
10
- import { readSlideListWithText } from "./document/slide-list.js";
15
+ import { writeEnvironment } from "./document/fonts-write.js";
16
+ import { writeStyleTextPropAtom } from "./text/style-write.js";
17
+ import { writeDrawingWithClientData, writeSlideDrawing } from "./drawing/shapes-write.js";
18
+ import { readNotesListWithText } from "./document/notes-list.js";
11
19
  import { readDrawingShapes } from "./drawing/shapes.js";
12
- import { CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, readCurrentUserAtom } from "./stream/current-user.js";
20
+ import { NOTES_MASTER_SLIDE_ID_REF, readNotesAtom, readNotesContainerAtom, readNotesText } from "./document/notes.js";
21
+ import { readSlideListWithText } from "./document/slide-list.js";
22
+ import { CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, readCurrentUserAtom } from "./stream/current-user.js";
13
23
  import { buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.js";
14
- import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints } from "./units.js";
15
- import { CURRENT_USER_STREAM, POWERPOINT_DOCUMENT_STREAM, readPpt, readPptContent, readPptStreams } from "./read.js";
16
- export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CONTAINER_REC_VER, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, LINE_BREAK, MASTER_UNITS_PER_POINT, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, PARAGRAPH_SEPARATOR, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PptEncryptedError, PptFormatError, RECORD_HEADER_SIZE, RT_CString, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, buildParagraphs, buildPersistDirectory, characterCountOf, childRecords, findChild, findChildren, findDescendants, isContainerRecord, masterUnitsToPoints, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs };
24
+ import { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, POWERPOINT_DOCUMENT_STREAM, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams } from "./read.js";
25
+ import { MASTER_SLIDE_ID, writeMainMaster, writeMasterListWithText, writeSlideAtom, writeSlideAtomForSlide } from "./document/master-write.js";
26
+ import { writeNotesListWithText } from "./document/notes-list-write.js";
27
+ import { writeNotesAtom, writeNotesContainer } from "./document/notes-write.js";
28
+ import { writeSlideListWithText } from "./document/slide-list-write.js";
29
+ import { layoutMetadataToSummaryInformation } from "./metadata.js";
30
+ import { writeCurrentUserAtom } from "./stream/current-user-write.js";
31
+ import { writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.js";
32
+ import { writePpt, writePptContent, writePptStreams } from "./write.js";
33
+ export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, NOTES_MASTER_SLIDE_ID_REF, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PptEncryptedError, PptFormatError, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
@@ -0,0 +1,14 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_errors = require("./errors.cjs");
3
+ let archive_codec = require("archive-codec");
4
+ //#region src/metadata.ts
5
+ function requireValidIsoDate(value, field) {
6
+ if (value !== void 0 && Number.isNaN(new Date(value).getTime())) throw new require_errors.PptUnsupportedContentError(`LayoutMetadata.${field} "${value}" is not a valid date string, so it cannot be written as a SummaryInformation FILETIME property`);
7
+ }
8
+ function layoutMetadataToSummaryInformation(metadata) {
9
+ requireValidIsoDate(metadata.createdIso, "createdIso");
10
+ requireValidIsoDate(metadata.modifiedIso, "modifiedIso");
11
+ return (0, archive_codec.layoutMetadataToSummaryInformation)(metadata);
12
+ }
13
+ //#endregion
14
+ exports.layoutMetadataToSummaryInformation = layoutMetadataToSummaryInformation;
@@ -0,0 +1,6 @@
1
+ import { LayoutMetadata } from "document-schema.js";
2
+ import { SummaryInformationProperties } from "archive-codec";
3
+ //#region src/metadata.d.ts
4
+ declare function layoutMetadataToSummaryInformation(metadata: LayoutMetadata): SummaryInformationProperties;
5
+ //#endregion
6
+ export { layoutMetadataToSummaryInformation };
@@ -0,0 +1,6 @@
1
+ import { SummaryInformationProperties } from "archive-codec";
2
+ import { LayoutMetadata } from "document-schema.js";
3
+ //#region src/metadata.d.ts
4
+ declare function layoutMetadataToSummaryInformation(metadata: LayoutMetadata): SummaryInformationProperties;
5
+ //#endregion
6
+ export { layoutMetadataToSummaryInformation };
@@ -0,0 +1,13 @@
1
+ import { PptUnsupportedContentError } from "./errors.js";
2
+ import { layoutMetadataToSummaryInformation as layoutMetadataToSummaryInformation$1 } from "archive-codec";
3
+ //#region src/metadata.ts
4
+ function requireValidIsoDate(value, field) {
5
+ if (value !== void 0 && Number.isNaN(new Date(value).getTime())) throw new PptUnsupportedContentError(`LayoutMetadata.${field} "${value}" is not a valid date string, so it cannot be written as a SummaryInformation FILETIME property`);
6
+ }
7
+ function layoutMetadataToSummaryInformation(metadata) {
8
+ requireValidIsoDate(metadata.createdIso, "createdIso");
9
+ requireValidIsoDate(metadata.modifiedIso, "modifiedIso");
10
+ return layoutMetadataToSummaryInformation$1(metadata);
11
+ }
12
+ //#endregion
13
+ export { layoutMetadataToSummaryInformation };
package/dist/read.cjs CHANGED
@@ -2,21 +2,25 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_errors = require("./errors.cjs");
3
3
  const require_record_tree = require("./record/tree.cjs");
4
4
  const require_record_types = require("./record/types.cjs");
5
- const require_text_atoms = require("./text/atoms.cjs");
6
5
  const require_text_style = require("./text/style.cjs");
6
+ const require_text_atoms = require("./text/atoms.cjs");
7
+ const require_units = require("./units.cjs");
7
8
  const require_content = require("./content.cjs");
8
9
  const require_document_document_atom = require("./document/document-atom.cjs");
9
10
  const require_document_fonts = require("./document/fonts.cjs");
10
- const require_document_slide_list = require("./document/slide-list.cjs");
11
+ const require_document_notes_list = require("./document/notes-list.cjs");
11
12
  const require_drawing_shapes = require("./drawing/shapes.cjs");
13
+ const require_document_notes = require("./document/notes.cjs");
14
+ const require_document_slide_list = require("./document/slide-list.cjs");
12
15
  const require_stream_current_user = require("./stream/current-user.cjs");
13
16
  const require_stream_persist = require("./stream/persist.cjs");
14
- const require_units = require("./units.cjs");
15
17
  let archive_codec = require("archive-codec");
16
18
  let document_schema_js = require("document-schema.js");
17
19
  //#region src/read.ts
18
20
  const CURRENT_USER_STREAM = "Current User";
19
21
  const POWERPOINT_DOCUMENT_STREAM = "PowerPoint Document";
22
+ /** The [MS-OLEPS] Property Set Stream a .ppt's title/author/dates live in when present ([MS-OSHARED] 2.3.3.2.2) -- a genuinely optional stream, unlike the two above, since a valid PowerPoint binary document need not carry document properties at all. */
23
+ const SUMMARY_INFORMATION_STREAM = "SummaryInformation";
20
24
  const DEFAULT_INSET_LEFT_RIGHT_PT = 7.2;
21
25
  const DEFAULT_INSET_TOP_BOTTOM_PT = 3.6;
22
26
  const NO_STYLE = {
@@ -47,7 +51,16 @@ function blocksFor(clientTextbox, persist, fontNames) {
47
51
  const style = styleRecord === void 0 ? NO_STYLE : require_text_style.readStyleTextPropAtom(styleRecord, require_text_atoms.characterCountOf(text));
48
52
  return require_content.buildParagraphs(text, style, fontNames);
49
53
  }
50
- function readSlide(streamBytes, directory, persist, size, fontNames) {
54
+ function readNotesBySlideId(streamBytes, directory, notesList) {
55
+ const notes = /* @__PURE__ */ new Map();
56
+ if (notesList === void 0) return notes;
57
+ for (const persist of require_document_notes_list.readNotesListWithText(notesList)) {
58
+ const notesContainer = require_stream_persist.resolvePersistObject(streamBytes, directory, persist.persistIdRef, `NotesPersistAtom for notes slide ${persist.notesId}`);
59
+ notes.set(require_document_notes.readNotesContainerAtom(notesContainer).slideIdRef, require_document_notes.readNotesText(notesContainer));
60
+ }
61
+ return notes;
62
+ }
63
+ function readSlide(streamBytes, directory, persist, size, fontNames, notes) {
51
64
  const slideContainer = require_stream_persist.resolvePersistObject(streamBytes, directory, persist.persistIdRef, `SlidePersistAtom for slide ${persist.slideId}`);
52
65
  if (slideContainer.header.recType !== 1006) throw new require_errors.PptFormatError(`persist object ${persist.persistIdRef} is record type 0x${slideContainer.header.recType.toString(16)}, not the RT_Slide (0x${require_record_types.RT_Slide.toString(16)}) its SlidePersistAtom promised`);
53
66
  const drawing = require_record_tree.findChild(require_record_tree.childRecords(slideContainer), require_record_types.RT_Drawing);
@@ -73,7 +86,7 @@ function readSlide(streamBytes, directory, persist, size, fontNames) {
73
86
  return {
74
87
  size,
75
88
  shapes,
76
- notes: ""
89
+ notes
77
90
  };
78
91
  }
79
92
  function readPptStreams(currentUserStream, powerPointDocumentStream) {
@@ -92,15 +105,24 @@ function readPptStreams(currentUserStream, powerPointDocumentStream) {
92
105
  };
93
106
  const environment = require_record_tree.findChild(children, require_record_types.RT_Environment);
94
107
  const fontNames = environment === void 0 ? [] : require_document_fonts.readFontNames(environment);
95
- const slideList = children.find((record) => record.header.recType === 4080 && record.header.recInstance === 0);
108
+ const listWithInstance = (instance) => children.find((record) => record.header.recType === 4080 && record.header.recInstance === instance);
109
+ const slideList = listWithInstance(0);
110
+ const persists = slideList === void 0 ? [] : require_document_slide_list.readSlideListWithText(slideList);
111
+ const notesBySlideId = readNotesBySlideId(powerPointDocumentStream, directory, listWithInstance(2));
96
112
  return {
97
113
  metadata: {},
98
- slides: (slideList === void 0 ? [] : require_document_slide_list.readSlideListWithText(slideList)).map((persist) => readSlide(powerPointDocumentStream, directory, persist, size, fontNames))
114
+ slides: persists.map((persist) => readSlide(powerPointDocumentStream, directory, persist, size, fontNames, notesBySlideId.get(persist.slideId) ?? ""))
99
115
  };
100
116
  }
101
117
  function readPptContent(bytes) {
102
118
  const streams = (0, archive_codec.readCompoundFile)(bytes);
103
- return readPptStreams(requireStream(streams, CURRENT_USER_STREAM), requireStream(streams, POWERPOINT_DOCUMENT_STREAM));
119
+ const document = readPptStreams(requireStream(streams, CURRENT_USER_STREAM), requireStream(streams, POWERPOINT_DOCUMENT_STREAM));
120
+ const metadataStream = streams.find((stream) => stream.path === SUMMARY_INFORMATION_STREAM);
121
+ if (metadataStream === void 0) return document;
122
+ return {
123
+ ...document,
124
+ metadata: (0, archive_codec.summaryInformationToLayoutMetadata)((0, archive_codec.readSummaryInformation)(metadataStream.bytes))
125
+ };
104
126
  }
105
127
  function readPpt(bytes) {
106
128
  const { metadata, slides } = readPptContent(bytes);
@@ -113,7 +135,10 @@ function readPpt(bytes) {
113
135
  }
114
136
  //#endregion
115
137
  exports.CURRENT_USER_STREAM = CURRENT_USER_STREAM;
138
+ exports.DEFAULT_INSET_LEFT_RIGHT_PT = DEFAULT_INSET_LEFT_RIGHT_PT;
139
+ exports.DEFAULT_INSET_TOP_BOTTOM_PT = DEFAULT_INSET_TOP_BOTTOM_PT;
116
140
  exports.POWERPOINT_DOCUMENT_STREAM = POWERPOINT_DOCUMENT_STREAM;
141
+ exports.SUMMARY_INFORMATION_STREAM = SUMMARY_INFORMATION_STREAM;
117
142
  exports.readPpt = readPpt;
118
143
  exports.readPptContent = readPptContent;
119
144
  exports.readPptStreams = readPptStreams;
package/dist/read.d.cts CHANGED
@@ -2,6 +2,10 @@ import { ContentSlide, DocumentTree, LayoutMetadata } from "document-schema.js";
2
2
  //#region src/read.d.ts
3
3
  declare const CURRENT_USER_STREAM = "Current User";
4
4
  declare const POWERPOINT_DOCUMENT_STREAM = "PowerPoint Document";
5
+ /** The [MS-OLEPS] Property Set Stream a .ppt's title/author/dates live in when present ([MS-OSHARED] 2.3.3.2.2) -- a genuinely optional stream, unlike the two above, since a valid PowerPoint binary document need not carry document properties at all. */
6
+ declare const SUMMARY_INFORMATION_STREAM = "SummaryInformation";
7
+ declare const DEFAULT_INSET_LEFT_RIGHT_PT: number;
8
+ declare const DEFAULT_INSET_TOP_BOTTOM_PT: number;
5
9
  interface PptDocument {
6
10
  readonly metadata: LayoutMetadata;
7
11
  readonly slides: readonly ContentSlide[];
@@ -10,4 +14,4 @@ declare function readPptStreams(currentUserStream: Uint8Array<ArrayBuffer>, powe
10
14
  declare function readPptContent(bytes: Uint8Array<ArrayBuffer>): PptDocument;
11
15
  declare function readPpt(bytes: Uint8Array<ArrayBuffer>): DocumentTree;
12
16
  //#endregion
13
- export { CURRENT_USER_STREAM, POWERPOINT_DOCUMENT_STREAM, PptDocument, readPpt, readPptContent, readPptStreams };
17
+ export { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, POWERPOINT_DOCUMENT_STREAM, PptDocument, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams };
package/dist/read.d.ts CHANGED
@@ -2,6 +2,10 @@ import { ContentSlide, DocumentTree, LayoutMetadata } from "document-schema.js";
2
2
  //#region src/read.d.ts
3
3
  declare const CURRENT_USER_STREAM = "Current User";
4
4
  declare const POWERPOINT_DOCUMENT_STREAM = "PowerPoint Document";
5
+ /** The [MS-OLEPS] Property Set Stream a .ppt's title/author/dates live in when present ([MS-OSHARED] 2.3.3.2.2) -- a genuinely optional stream, unlike the two above, since a valid PowerPoint binary document need not carry document properties at all. */
6
+ declare const SUMMARY_INFORMATION_STREAM = "SummaryInformation";
7
+ declare const DEFAULT_INSET_LEFT_RIGHT_PT: number;
8
+ declare const DEFAULT_INSET_TOP_BOTTOM_PT: number;
5
9
  interface PptDocument {
6
10
  readonly metadata: LayoutMetadata;
7
11
  readonly slides: readonly ContentSlide[];
@@ -10,4 +14,4 @@ declare function readPptStreams(currentUserStream: Uint8Array<ArrayBuffer>, powe
10
14
  declare function readPptContent(bytes: Uint8Array<ArrayBuffer>): PptDocument;
11
15
  declare function readPpt(bytes: Uint8Array<ArrayBuffer>): DocumentTree;
12
16
  //#endregion
13
- export { CURRENT_USER_STREAM, POWERPOINT_DOCUMENT_STREAM, PptDocument, readPpt, readPptContent, readPptStreams };
17
+ export { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, POWERPOINT_DOCUMENT_STREAM, PptDocument, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams };