ppt-codec 1.6.0 → 1.7.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 +44 -40
- package/dist/document/master-write.cjs +1 -1
- package/dist/document/master-write.js +1 -1
- package/dist/document/notes-write.cjs +1 -1
- package/dist/document/notes-write.js +1 -1
- package/dist/drawing/properties.cjs +8 -0
- package/dist/drawing/properties.d.cts +5 -1
- package/dist/drawing/properties.d.ts +5 -1
- package/dist/drawing/properties.js +5 -1
- package/dist/drawing/shapes-write.cjs +37 -7
- package/dist/drawing/shapes-write.d.cts +1 -0
- package/dist/drawing/shapes-write.d.ts +1 -0
- package/dist/drawing/shapes-write.js +38 -8
- package/dist/index.cjs +10 -2
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -6
- package/dist/ole/embedded-write.cjs +66 -0
- package/dist/ole/embedded-write.d.cts +12 -0
- package/dist/ole/embedded-write.d.ts +12 -0
- package/dist/ole/embedded-write.js +63 -0
- package/dist/ole/embedded.cjs +66 -0
- package/dist/ole/embedded.d.cts +12 -0
- package/dist/ole/embedded.d.ts +12 -0
- package/dist/ole/embedded.js +63 -0
- package/dist/read.cjs +52 -11
- package/dist/read.d.cts +12 -5
- package/dist/read.d.ts +12 -5
- package/dist/read.js +53 -12
- package/dist/stream/current-user.cjs +1 -0
- package/dist/stream/current-user.d.cts +2 -1
- package/dist/stream/current-user.d.ts +2 -1
- package/dist/stream/current-user.js +1 -1
- package/dist/units.cjs +10 -0
- package/dist/units.d.cts +4 -1
- package/dist/units.d.ts +4 -1
- package/dist/units.js +8 -1
- package/dist/write.cjs +41 -5
- package/dist/write.d.cts +6 -2
- package/dist/write.d.ts +6 -2
- package/dist/write.js +41 -5
- package/package.json +2 -2
|
@@ -1,13 +1,37 @@
|
|
|
1
|
+
import { PptUnsupportedContentError } from "../errors.js";
|
|
1
2
|
import { OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, RT_Drawing, RT_TextCharsAtom, RT_TextHeaderAtom } from "../record/types.js";
|
|
2
3
|
import { characterCountOf } from "../text/atoms.js";
|
|
3
|
-
import { pointsToMasterUnits } from "../units.js";
|
|
4
|
+
import { pointsToEmu, pointsToMasterUnits } from "../units.js";
|
|
4
5
|
import { buildTextBody } from "../content-write.js";
|
|
5
6
|
import { PptDiagnosticCodes } from "../diagnostics.js";
|
|
6
7
|
import { concatBytes, i32le, u32le, utf16le, writeAtom, writeContainer } from "../record/write.js";
|
|
7
8
|
import { isBlipFormat } from "./blips.js";
|
|
8
9
|
import { degreesToFixedPoint, writeIMsoArray, writeShapePropertyTable } from "./properties.js";
|
|
10
|
+
import { DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT } from "../read.js";
|
|
9
11
|
import { writeStyleTextPropAtom } from "../text/style-write.js";
|
|
10
12
|
//#region src/drawing/shapes-write.ts
|
|
13
|
+
function insetProperties(shape, isPicture) {
|
|
14
|
+
const defaultLeftRight = isPicture ? 0 : DEFAULT_INSET_LEFT_RIGHT_PT;
|
|
15
|
+
const defaultTopBottom = isPicture ? 0 : DEFAULT_INSET_TOP_BOTTOM_PT;
|
|
16
|
+
const entries = [];
|
|
17
|
+
if (shape.insetLeftPt !== defaultLeftRight) entries.push({
|
|
18
|
+
opid: 129,
|
|
19
|
+
op: pointsToEmu(shape.insetLeftPt)
|
|
20
|
+
});
|
|
21
|
+
if (shape.insetTopPt !== defaultTopBottom) entries.push({
|
|
22
|
+
opid: 130,
|
|
23
|
+
op: pointsToEmu(shape.insetTopPt)
|
|
24
|
+
});
|
|
25
|
+
if (shape.insetRightPt !== defaultLeftRight) entries.push({
|
|
26
|
+
opid: 131,
|
|
27
|
+
op: pointsToEmu(shape.insetRightPt)
|
|
28
|
+
});
|
|
29
|
+
if (shape.insetBottomPt !== defaultTopBottom) entries.push({
|
|
30
|
+
opid: 132,
|
|
31
|
+
op: pointsToEmu(shape.insetBottomPt)
|
|
32
|
+
});
|
|
33
|
+
return entries;
|
|
34
|
+
}
|
|
11
35
|
const FSP_CHILD = 2;
|
|
12
36
|
const PATRIARCH_SPID = 1;
|
|
13
37
|
const FIRST_CONTENT_SPID = 2;
|
|
@@ -35,6 +59,7 @@ function writeShapeProperties(shape, pib) {
|
|
|
35
59
|
op: pib,
|
|
36
60
|
fBid: true
|
|
37
61
|
});
|
|
62
|
+
entries.push(...insetProperties(shape, pib !== void 0));
|
|
38
63
|
return entries.length === 0 ? void 0 : writeShapePropertyTable(OfficeArtFOPT, entries);
|
|
39
64
|
}
|
|
40
65
|
function writeClientTextbox(textBlocks, fontIndexOf) {
|
|
@@ -61,25 +86,30 @@ function writeShape(spid, shape, pib, textBlocks, fontIndexOf, clientData) {
|
|
|
61
86
|
function writePatriarch() {
|
|
62
87
|
return writeContainer(OfficeArtSpContainer, [writeAtom(OfficeArtFSPGR, /* @__PURE__ */ new Uint8Array(16), { recVer: 1 }), writeFsp(PATRIARCH_SPID, 5)]);
|
|
63
88
|
}
|
|
64
|
-
function
|
|
89
|
+
function reportDrop(context, diagnostic) {
|
|
90
|
+
context.sink(diagnostic);
|
|
91
|
+
if (context.strict) throw new PptUnsupportedContentError(diagnostic.message);
|
|
92
|
+
}
|
|
93
|
+
function planShapeBlocks(blocks, context, hasOleClientData) {
|
|
65
94
|
const textBlocks = [];
|
|
66
95
|
let pib;
|
|
67
96
|
let table;
|
|
68
97
|
const drop = (block, reason) => {
|
|
69
|
-
context
|
|
98
|
+
reportDrop(context, {
|
|
70
99
|
code: PptDiagnosticCodes.BLOCK_DROPPED,
|
|
71
100
|
severity: "warning",
|
|
72
101
|
message: `${context.location}: ${reason}`
|
|
73
102
|
});
|
|
74
103
|
};
|
|
75
104
|
for (const block of blocks) {
|
|
105
|
+
if (block.kind === "embeddedObject" && hasOleClientData) continue;
|
|
76
106
|
if (block.kind === "paragraph") {
|
|
77
107
|
textBlocks.push(block);
|
|
78
108
|
continue;
|
|
79
109
|
}
|
|
80
110
|
if (block.kind === "image") {
|
|
81
111
|
if (!isBlipFormat(block.format)) {
|
|
82
|
-
context
|
|
112
|
+
reportDrop(context, {
|
|
83
113
|
code: PptDiagnosticCodes.IMAGE_DROPPED,
|
|
84
114
|
severity: "warning",
|
|
85
115
|
message: `${context.location}: an image block in format '${block.format}' is dropped; MSOBLIPTYPE gives this writer a blip record for PNG and JPEG only`
|
|
@@ -87,7 +117,7 @@ function planShapeBlocks(blocks, context) {
|
|
|
87
117
|
continue;
|
|
88
118
|
}
|
|
89
119
|
if (pib !== void 0) {
|
|
90
|
-
context
|
|
120
|
+
reportDrop(context, {
|
|
91
121
|
code: PptDiagnosticCodes.IMAGE_DROPPED,
|
|
92
122
|
severity: "warning",
|
|
93
123
|
message: `${context.location}: a second image block is dropped; a shape carries exactly one blip-store reference, and an earlier image already consumed it`
|
|
@@ -109,7 +139,7 @@ function planShapeBlocks(blocks, context) {
|
|
|
109
139
|
}
|
|
110
140
|
if (table !== void 0) {
|
|
111
141
|
for (const block of textBlocks) drop(block, "a 'paragraph' block is dropped; a shape carrying a table becomes a table group, which holds its text in cells rather than a text body of its own");
|
|
112
|
-
if (pib !== void 0) context
|
|
142
|
+
if (pib !== void 0) reportDrop(context, {
|
|
113
143
|
code: PptDiagnosticCodes.IMAGE_DROPPED,
|
|
114
144
|
severity: "warning",
|
|
115
145
|
message: `${context.location}: an image block is dropped; a shape carrying a table becomes a table group, which has no blip reference of its own`
|
|
@@ -200,7 +230,7 @@ function writeTableGroup(spid, shape, table, context) {
|
|
|
200
230
|
message: `${context.location}: a table cell's rowSpan ${String(cell.rowSpan)} is dropped; a PowerPoint 97-2003 table is a strict grid of shapes with no merge records, so the cell is written one row tall`
|
|
201
231
|
});
|
|
202
232
|
const paragraphs = cell.blocks.filter((block) => block.kind === "paragraph");
|
|
203
|
-
for (const block of cell.blocks) if (block.kind !== "paragraph") context
|
|
233
|
+
for (const block of cell.blocks) if (block.kind !== "paragraph") reportDrop(context, {
|
|
204
234
|
code: PptDiagnosticCodes.BLOCK_DROPPED,
|
|
205
235
|
severity: "warning",
|
|
206
236
|
message: `${context.location}: a '${block.kind}' block inside a table cell is dropped; a table cell in this format is a plain text-box shape with no property table or object reference of its own`
|
|
@@ -221,7 +251,7 @@ function writeDrawing(shapes, context) {
|
|
|
221
251
|
let shapeCount = 1;
|
|
222
252
|
const shapeContainers = [];
|
|
223
253
|
for (const entry of shapes) {
|
|
224
|
-
const plan = planShapeBlocks(entry.shape.blocks, context);
|
|
254
|
+
const plan = planShapeBlocks(entry.shape.blocks, context, entry.clientData !== void 0);
|
|
225
255
|
if (plan.table !== void 0) {
|
|
226
256
|
const group = writeTableGroup(nextSpid, entry.shape, plan.table, context);
|
|
227
257
|
nextSpid += group.shapeCount;
|
package/dist/index.cjs
CHANGED
|
@@ -18,8 +18,6 @@ const require_document_fonts = require("./document/fonts.cjs");
|
|
|
18
18
|
const require_document_fonts_write = require("./document/fonts-write.cjs");
|
|
19
19
|
const require_drawing_blips = require("./drawing/blips.cjs");
|
|
20
20
|
const require_drawing_properties = require("./drawing/properties.cjs");
|
|
21
|
-
const require_text_style_write = require("./text/style-write.cjs");
|
|
22
|
-
const require_drawing_shapes_write = require("./drawing/shapes-write.cjs");
|
|
23
21
|
const require_document_notes_list = require("./document/notes-list.cjs");
|
|
24
22
|
const require_drawing_shapes = require("./drawing/shapes.cjs");
|
|
25
23
|
const require_document_notes = require("./document/notes.cjs");
|
|
@@ -27,6 +25,8 @@ const require_document_slide_list = require("./document/slide-list.cjs");
|
|
|
27
25
|
const require_stream_current_user = require("./stream/current-user.cjs");
|
|
28
26
|
const require_stream_persist = require("./stream/persist.cjs");
|
|
29
27
|
const require_read = require("./read.cjs");
|
|
28
|
+
const require_text_style_write = require("./text/style-write.cjs");
|
|
29
|
+
const require_drawing_shapes_write = require("./drawing/shapes-write.cjs");
|
|
30
30
|
const require_document_master_write = require("./document/master-write.cjs");
|
|
31
31
|
const require_document_notes_list_write = require("./document/notes-list-write.cjs");
|
|
32
32
|
const require_document_notes_write = require("./document/notes-write.cjs");
|
|
@@ -68,6 +68,7 @@ exports.CURRENT_USER_HEADER_TOKEN_PLAIN = require_stream_current_user.CURRENT_US
|
|
|
68
68
|
exports.CURRENT_USER_STREAM = require_read.CURRENT_USER_STREAM;
|
|
69
69
|
exports.DEFAULT_INSET_LEFT_RIGHT_PT = require_read.DEFAULT_INSET_LEFT_RIGHT_PT;
|
|
70
70
|
exports.DEFAULT_INSET_TOP_BOTTOM_PT = require_read.DEFAULT_INSET_TOP_BOTTOM_PT;
|
|
71
|
+
exports.EMU_PER_POINT = require_units.EMU_PER_POINT;
|
|
71
72
|
exports.LINE_BREAK = require_text_atoms.LINE_BREAK;
|
|
72
73
|
exports.MASTER_SLIDE_ID = require_document_master_write.MASTER_SLIDE_ID;
|
|
73
74
|
exports.MASTER_UNITS_PER_POINT = require_units.MASTER_UNITS_PER_POINT;
|
|
@@ -116,6 +117,10 @@ exports.PF_WORD_WRAP = require_text_style.PF_WORD_WRAP;
|
|
|
116
117
|
exports.PICTURES_STREAM = require_read.PICTURES_STREAM;
|
|
117
118
|
exports.POINTS_PER_INCH = require_units.POINTS_PER_INCH;
|
|
118
119
|
exports.POWERPOINT_DOCUMENT_STREAM = require_read.POWERPOINT_DOCUMENT_STREAM;
|
|
120
|
+
exports.PROPERTY_DX_TEXT_LEFT = require_drawing_properties.PROPERTY_DX_TEXT_LEFT;
|
|
121
|
+
exports.PROPERTY_DX_TEXT_RIGHT = require_drawing_properties.PROPERTY_DX_TEXT_RIGHT;
|
|
122
|
+
exports.PROPERTY_DY_TEXT_BOTTOM = require_drawing_properties.PROPERTY_DY_TEXT_BOTTOM;
|
|
123
|
+
exports.PROPERTY_DY_TEXT_TOP = require_drawing_properties.PROPERTY_DY_TEXT_TOP;
|
|
119
124
|
exports.PROPERTY_PIB = require_drawing_properties.PROPERTY_PIB;
|
|
120
125
|
exports.PROPERTY_ROTATION = require_drawing_properties.PROPERTY_ROTATION;
|
|
121
126
|
exports.PROPERTY_TABLE_PROPERTIES = require_drawing_properties.PROPERTY_TABLE_PROPERTIES;
|
|
@@ -193,7 +198,9 @@ exports.characterCountOf = require_text_atoms.characterCountOf;
|
|
|
193
198
|
exports.childRecords = require_record_tree.childRecords;
|
|
194
199
|
exports.collectFontFamilies = require_content_write.collectFontFamilies;
|
|
195
200
|
exports.concatBytes = require_record_write.concatBytes;
|
|
201
|
+
exports.decodeUtf16Le = require_stream_current_user.decodeUtf16Le;
|
|
196
202
|
exports.degreesToFixedPoint = require_drawing_properties.degreesToFixedPoint;
|
|
203
|
+
exports.emuToPoints = require_units.emuToPoints;
|
|
197
204
|
exports.findChild = require_record_tree.findChild;
|
|
198
205
|
exports.findChildren = require_record_tree.findChildren;
|
|
199
206
|
exports.findDescendants = require_record_tree.findDescendants;
|
|
@@ -204,6 +211,7 @@ exports.isBlipFormat = require_drawing_blips.isBlipFormat;
|
|
|
204
211
|
exports.isContainerRecord = require_record_header.isContainerRecord;
|
|
205
212
|
exports.layoutMetadataToSummaryInformation = require_metadata.layoutMetadataToSummaryInformation;
|
|
206
213
|
exports.masterUnitsToPoints = require_units.masterUnitsToPoints;
|
|
214
|
+
exports.pointsToEmu = require_units.pointsToEmu;
|
|
207
215
|
exports.pointsToMasterUnits = require_units.pointsToMasterUnits;
|
|
208
216
|
exports.readBlipStore = require_drawing_blips.readBlipStore;
|
|
209
217
|
exports.readCurrentUserAtom = require_stream_current_user.readCurrentUserAtom;
|
package/dist/index.d.cts
CHANGED
|
@@ -19,19 +19,19 @@ import { NOTES_MASTER_SLIDE_ID_REF, NotesAtom, readNotesAtom, readNotesContainer
|
|
|
19
19
|
import { SlidePersistRef, writeSlideListWithText } from "./document/slide-list-write.cjs";
|
|
20
20
|
import { OutlineText, SlidePersist, readSlideListWithText } from "./document/slide-list.cjs";
|
|
21
21
|
import { PptBlip, blipForPib, isBlipFormat, readBlipStore, writeDrawingGroupContainer } from "./drawing/blips.cjs";
|
|
22
|
-
import { PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, ShapeProperty, TABLE_FLAG_IS_TABLE, WritableShapeProperty, degreesToFixedPoint, fixedPointToDegrees, readIMsoArray, readShapeProperties, writeIMsoArray, writeShapePropertyTable } from "./drawing/properties.cjs";
|
|
22
|
+
import { PROPERTY_DX_TEXT_LEFT, PROPERTY_DX_TEXT_RIGHT, PROPERTY_DY_TEXT_BOTTOM, PROPERTY_DY_TEXT_TOP, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, ShapeProperty, TABLE_FLAG_IS_TABLE, WritableShapeProperty, degreesToFixedPoint, fixedPointToDegrees, readIMsoArray, readShapeProperties, writeIMsoArray, writeShapePropertyTable } from "./drawing/properties.cjs";
|
|
23
23
|
import { PptShape, PptTable, ShapeRect, readDrawingShapes } from "./drawing/shapes.cjs";
|
|
24
24
|
import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from "./errors.cjs";
|
|
25
25
|
import { layoutMetadataToSummaryInformation } from "./metadata.cjs";
|
|
26
|
-
import { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, PICTURES_STREAM, POWERPOINT_DOCUMENT_STREAM, PptDocument, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams } from "./read.cjs";
|
|
26
|
+
import { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, DecodeEmbeddedObjectPort, PICTURES_STREAM, POWERPOINT_DOCUMENT_STREAM, PptDocument, ReadPptOptions, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams } from "./read.cjs";
|
|
27
27
|
import { OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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";
|
|
28
28
|
import { RecordWriteOptions, asciiBytes, concatBytes, i16le, i32le, u16le, u32le, u8, utf16le, writeAtom, writeContainer } from "./record/write.cjs";
|
|
29
|
-
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";
|
|
29
|
+
import { CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CurrentUser, decodeUtf16Le, readCurrentUserAtom } from "./stream/current-user.cjs";
|
|
30
30
|
import { writeCurrentUserAtom } from "./stream/current-user-write.cjs";
|
|
31
31
|
import { PersistDirectory, UserEdit, buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.cjs";
|
|
32
32
|
import { PersistDirectoryEntryToWrite, UserEditFields, writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.cjs";
|
|
33
33
|
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";
|
|
34
34
|
import { writeStyleTextPropAtom } from "./text/style-write.cjs";
|
|
35
|
-
import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.cjs";
|
|
36
|
-
import { WritePptOptions, writePpt, writePptContent, writePptStreams } from "./write.cjs";
|
|
37
|
-
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, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, 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, DrawingWriteContext, DrawingWritten, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, MasterStyleLevel, MasterTextStyleAtom, NOOP_PPT_DIAGNOSTIC_SINK, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, 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, PICTURES_STREAM, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptBlip, PptDiagnostic, PptDiagnosticCodes, PptDiagnosticSeverity, PptDiagnosticSink, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptTable, 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_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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, RunColor, 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, ShapeProperty, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TABLE_FLAG_IS_TABLE, 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, WritableShapeProperty, WritePptOptions, asciiBytes, base64ToBytes, blipForPib, buildParagraphs, buildPersistDirectory, buildTextBody, bytesToBase64, characterCountOf, childRecords, collectFontFamilies, concatBytes, degreesToFixedPoint, findChild, findChildren, findDescendants, fixedPointToDegrees, i16le, i32le, isBlipFormat, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readBlipStore, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readIMsoArray, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readShapeProperties, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingGroupContainer, writeEnvironment, writeIMsoArray, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeShapePropertyTable, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
|
|
35
|
+
import { EMU_PER_POINT, MASTER_UNITS_PER_POINT, POINTS_PER_INCH, emuToPoints, masterUnitsToPoints, pointsToEmu, pointsToMasterUnits } from "./units.cjs";
|
|
36
|
+
import { EmbeddedObjectSerialiser, PptUnwritableBlockPolicy, WritePptOptions, writePpt, writePptContent, writePptStreams } from "./write.cjs";
|
|
37
|
+
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, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, 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, DecodeEmbeddedObjectPort, DocumentAtom, DrawingShape, DrawingWriteContext, DrawingWritten, EMU_PER_POINT, EmbeddedObjectSerialiser, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, MasterStyleLevel, MasterTextStyleAtom, NOOP_PPT_DIAGNOSTIC_SINK, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, 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, PICTURES_STREAM, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PROPERTY_DX_TEXT_LEFT, PROPERTY_DX_TEXT_RIGHT, PROPERTY_DY_TEXT_BOTTOM, PROPERTY_DY_TEXT_TOP, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptBlip, PptDiagnostic, PptDiagnosticCodes, PptDiagnosticSeverity, PptDiagnosticSink, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptTable, PptUnsupportedContentError, PptUnwritableBlockPolicy, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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, ReadPptOptions, RecordHeader, RecordWriteOptions, RgbColor, RunColor, 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, ShapeProperty, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TABLE_FLAG_IS_TABLE, 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, WritableShapeProperty, WritePptOptions, asciiBytes, base64ToBytes, blipForPib, buildParagraphs, buildPersistDirectory, buildTextBody, bytesToBase64, characterCountOf, childRecords, collectFontFamilies, concatBytes, decodeUtf16Le, degreesToFixedPoint, emuToPoints, findChild, findChildren, findDescendants, fixedPointToDegrees, i16le, i32le, isBlipFormat, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToEmu, pointsToMasterUnits, readBlipStore, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readIMsoArray, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readShapeProperties, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingGroupContainer, writeEnvironment, writeIMsoArray, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeShapePropertyTable, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
|
package/dist/index.d.ts
CHANGED
|
@@ -19,19 +19,19 @@ import { NOTES_MASTER_SLIDE_ID_REF, NotesAtom, readNotesAtom, readNotesContainer
|
|
|
19
19
|
import { SlidePersistRef, writeSlideListWithText } from "./document/slide-list-write.js";
|
|
20
20
|
import { OutlineText, SlidePersist, readSlideListWithText } from "./document/slide-list.js";
|
|
21
21
|
import { PptBlip, blipForPib, isBlipFormat, readBlipStore, writeDrawingGroupContainer } from "./drawing/blips.js";
|
|
22
|
-
import { PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, ShapeProperty, TABLE_FLAG_IS_TABLE, WritableShapeProperty, degreesToFixedPoint, fixedPointToDegrees, readIMsoArray, readShapeProperties, writeIMsoArray, writeShapePropertyTable } from "./drawing/properties.js";
|
|
22
|
+
import { PROPERTY_DX_TEXT_LEFT, PROPERTY_DX_TEXT_RIGHT, PROPERTY_DY_TEXT_BOTTOM, PROPERTY_DY_TEXT_TOP, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, ShapeProperty, TABLE_FLAG_IS_TABLE, WritableShapeProperty, degreesToFixedPoint, fixedPointToDegrees, readIMsoArray, readShapeProperties, writeIMsoArray, writeShapePropertyTable } from "./drawing/properties.js";
|
|
23
23
|
import { PptShape, PptTable, ShapeRect, readDrawingShapes } from "./drawing/shapes.js";
|
|
24
24
|
import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from "./errors.js";
|
|
25
25
|
import { layoutMetadataToSummaryInformation } from "./metadata.js";
|
|
26
|
-
import { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, PICTURES_STREAM, POWERPOINT_DOCUMENT_STREAM, PptDocument, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams } from "./read.js";
|
|
26
|
+
import { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, DecodeEmbeddedObjectPort, PICTURES_STREAM, POWERPOINT_DOCUMENT_STREAM, PptDocument, ReadPptOptions, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams } from "./read.js";
|
|
27
27
|
import { OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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";
|
|
28
28
|
import { RecordWriteOptions, asciiBytes, concatBytes, i16le, i32le, u16le, u32le, u8, utf16le, writeAtom, writeContainer } from "./record/write.js";
|
|
29
|
-
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";
|
|
29
|
+
import { CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CurrentUser, decodeUtf16Le, readCurrentUserAtom } from "./stream/current-user.js";
|
|
30
30
|
import { writeCurrentUserAtom } from "./stream/current-user-write.js";
|
|
31
31
|
import { PersistDirectory, UserEdit, buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.js";
|
|
32
32
|
import { PersistDirectoryEntryToWrite, UserEditFields, writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.js";
|
|
33
33
|
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";
|
|
34
34
|
import { writeStyleTextPropAtom } from "./text/style-write.js";
|
|
35
|
-
import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.js";
|
|
36
|
-
import { WritePptOptions, writePpt, writePptContent, writePptStreams } from "./write.js";
|
|
37
|
-
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, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, 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, DrawingWriteContext, DrawingWritten, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, MasterStyleLevel, MasterTextStyleAtom, NOOP_PPT_DIAGNOSTIC_SINK, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, 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, PICTURES_STREAM, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptBlip, PptDiagnostic, PptDiagnosticCodes, PptDiagnosticSeverity, PptDiagnosticSink, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptTable, 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_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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, RunColor, 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, ShapeProperty, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TABLE_FLAG_IS_TABLE, 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, WritableShapeProperty, WritePptOptions, asciiBytes, base64ToBytes, blipForPib, buildParagraphs, buildPersistDirectory, buildTextBody, bytesToBase64, characterCountOf, childRecords, collectFontFamilies, concatBytes, degreesToFixedPoint, findChild, findChildren, findDescendants, fixedPointToDegrees, i16le, i32le, isBlipFormat, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readBlipStore, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readIMsoArray, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readShapeProperties, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingGroupContainer, writeEnvironment, writeIMsoArray, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeShapePropertyTable, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
|
|
35
|
+
import { EMU_PER_POINT, MASTER_UNITS_PER_POINT, POINTS_PER_INCH, emuToPoints, masterUnitsToPoints, pointsToEmu, pointsToMasterUnits } from "./units.js";
|
|
36
|
+
import { EmbeddedObjectSerialiser, PptUnwritableBlockPolicy, WritePptOptions, writePpt, writePptContent, writePptStreams } from "./write.js";
|
|
37
|
+
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, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, 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, DecodeEmbeddedObjectPort, DocumentAtom, DrawingShape, DrawingWriteContext, DrawingWritten, EMU_PER_POINT, EmbeddedObjectSerialiser, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, MasterStyleLevel, MasterTextStyleAtom, NOOP_PPT_DIAGNOSTIC_SINK, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, 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, PICTURES_STREAM, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PROPERTY_DX_TEXT_LEFT, PROPERTY_DX_TEXT_RIGHT, PROPERTY_DY_TEXT_BOTTOM, PROPERTY_DY_TEXT_TOP, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptBlip, PptDiagnostic, PptDiagnosticCodes, PptDiagnosticSeverity, PptDiagnosticSink, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptTable, PptUnsupportedContentError, PptUnwritableBlockPolicy, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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, ReadPptOptions, RecordHeader, RecordWriteOptions, RgbColor, RunColor, 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, ShapeProperty, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TABLE_FLAG_IS_TABLE, 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, WritableShapeProperty, WritePptOptions, asciiBytes, base64ToBytes, blipForPib, buildParagraphs, buildPersistDirectory, buildTextBody, bytesToBase64, characterCountOf, childRecords, collectFontFamilies, concatBytes, decodeUtf16Le, degreesToFixedPoint, emuToPoints, findChild, findChildren, findDescendants, fixedPointToDegrees, i16le, i32le, isBlipFormat, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToEmu, pointsToMasterUnits, readBlipStore, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readIMsoArray, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readShapeProperties, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingGroupContainer, writeEnvironment, writeIMsoArray, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeShapePropertyTable, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { childRecords, findChild, findChildren, findDescendants, readRecordAt, r
|
|
|
5
5
|
import { OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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";
|
|
6
6
|
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, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, 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, readTextMasterStyleAtom } from "./text/style.js";
|
|
7
7
|
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";
|
|
8
|
-
import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.js";
|
|
8
|
+
import { EMU_PER_POINT, MASTER_UNITS_PER_POINT, POINTS_PER_INCH, emuToPoints, masterUnitsToPoints, pointsToEmu, pointsToMasterUnits } from "./units.js";
|
|
9
9
|
import { buildTextBody, collectFontFamilies } from "./content-write.js";
|
|
10
10
|
import { buildParagraphs } from "./content.js";
|
|
11
11
|
import { NOOP_PPT_DIAGNOSTIC_SINK, PptDiagnosticCodes } from "./diagnostics.js";
|
|
@@ -16,16 +16,16 @@ import { writeDocumentAtom } from "./document/document-atom-write.js";
|
|
|
16
16
|
import { readFontNames } from "./document/fonts.js";
|
|
17
17
|
import { writeEnvironment } from "./document/fonts-write.js";
|
|
18
18
|
import { blipForPib, isBlipFormat, readBlipStore, writeDrawingGroupContainer } from "./drawing/blips.js";
|
|
19
|
-
import { PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, TABLE_FLAG_IS_TABLE, degreesToFixedPoint, fixedPointToDegrees, readIMsoArray, readShapeProperties, writeIMsoArray, writeShapePropertyTable } from "./drawing/properties.js";
|
|
20
|
-
import { writeStyleTextPropAtom } from "./text/style-write.js";
|
|
21
|
-
import { writeSlideDrawing } from "./drawing/shapes-write.js";
|
|
19
|
+
import { PROPERTY_DX_TEXT_LEFT, PROPERTY_DX_TEXT_RIGHT, PROPERTY_DY_TEXT_BOTTOM, PROPERTY_DY_TEXT_TOP, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, TABLE_FLAG_IS_TABLE, degreesToFixedPoint, fixedPointToDegrees, readIMsoArray, readShapeProperties, writeIMsoArray, writeShapePropertyTable } from "./drawing/properties.js";
|
|
22
20
|
import { readNotesListWithText } from "./document/notes-list.js";
|
|
23
21
|
import { readDrawingShapes } from "./drawing/shapes.js";
|
|
24
22
|
import { NOTES_MASTER_SLIDE_ID_REF, readNotesAtom, readNotesContainerAtom, readNotesText } from "./document/notes.js";
|
|
25
23
|
import { readSlideListWithText } from "./document/slide-list.js";
|
|
26
|
-
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";
|
|
24
|
+
import { CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, decodeUtf16Le, readCurrentUserAtom } from "./stream/current-user.js";
|
|
27
25
|
import { buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.js";
|
|
28
26
|
import { CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, PICTURES_STREAM, POWERPOINT_DOCUMENT_STREAM, SUMMARY_INFORMATION_STREAM, readPpt, readPptContent, readPptStreams } from "./read.js";
|
|
27
|
+
import { writeStyleTextPropAtom } from "./text/style-write.js";
|
|
28
|
+
import { writeSlideDrawing } from "./drawing/shapes-write.js";
|
|
29
29
|
import { MASTER_SLIDE_ID, writeMainMaster, writeMasterListWithText, writeSlideAtom, writeSlideAtomForSlide } from "./document/master-write.js";
|
|
30
30
|
import { writeNotesListWithText } from "./document/notes-list-write.js";
|
|
31
31
|
import { writeNotesAtom, writeNotesContainer } from "./document/notes-write.js";
|
|
@@ -34,4 +34,4 @@ import { layoutMetadataToSummaryInformation } from "./metadata.js";
|
|
|
34
34
|
import { writeCurrentUserAtom } from "./stream/current-user-write.js";
|
|
35
35
|
import { writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.js";
|
|
36
36
|
import { writePpt, writePptContent, writePptStreams } from "./write.js";
|
|
37
|
-
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, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, 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, NOOP_PPT_DIAGNOSTIC_SINK, NOTES_MASTER_SLIDE_ID_REF, OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, 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, PICTURES_STREAM, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, PptDiagnosticCodes, 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_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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, TABLE_FLAG_IS_TABLE, 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, base64ToBytes, blipForPib, buildParagraphs, buildPersistDirectory, buildTextBody, bytesToBase64, characterCountOf, childRecords, collectFontFamilies, concatBytes, degreesToFixedPoint, findChild, findChildren, findDescendants, fixedPointToDegrees, i16le, i32le, isBlipFormat, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readBlipStore, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readIMsoArray, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readShapeProperties, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingGroupContainer, writeEnvironment, writeIMsoArray, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeShapePropertyTable, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
|
|
37
|
+
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, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, 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, EMU_PER_POINT, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, NOOP_PPT_DIAGNOSTIC_SINK, NOTES_MASTER_SLIDE_ID_REF, OfficeArtBStoreContainer, OfficeArtBlipJPEG, OfficeArtBlipPNG, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtDggContainer, OfficeArtFBSE, OfficeArtFDGGBlock, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSecondaryFOPT, OfficeArtSpContainer, OfficeArtSpgrContainer, OfficeArtTertiaryFOPT, 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, PICTURES_STREAM, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PROPERTY_DX_TEXT_LEFT, PROPERTY_DX_TEXT_RIGHT, PROPERTY_DY_TEXT_BOTTOM, PROPERTY_DY_TEXT_TOP, PROPERTY_PIB, PROPERTY_ROTATION, PROPERTY_TABLE_PROPERTIES, PROPERTY_TABLE_ROW_PROPERTIES, PptDiagnosticCodes, 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_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg, 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, TABLE_FLAG_IS_TABLE, 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, base64ToBytes, blipForPib, buildParagraphs, buildPersistDirectory, buildTextBody, bytesToBase64, characterCountOf, childRecords, collectFontFamilies, concatBytes, decodeUtf16Le, degreesToFixedPoint, emuToPoints, findChild, findChildren, findDescendants, fixedPointToDegrees, i16le, i32le, isBlipFormat, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToEmu, pointsToMasterUnits, readBlipStore, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readIMsoArray, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readShapeProperties, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingGroupContainer, writeEnvironment, writeIMsoArray, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeShapePropertyTable, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_record_types = require("../record/types.cjs");
|
|
3
|
+
const require_record_write = require("../record/write.cjs");
|
|
4
|
+
//#region src/ole/embedded-write.ts
|
|
5
|
+
const EX_OLE_TYPE_EMBEDDED = 0;
|
|
6
|
+
const EX_OLE_SUBTYPE_DEFAULT = 0;
|
|
7
|
+
const EX_OLE_SUBTYPE_WORD_DOC = 2;
|
|
8
|
+
const EX_OLE_SUBTYPE_EXCEL = 3;
|
|
9
|
+
const DVASPECT_CONTENT = 1;
|
|
10
|
+
const EX_COLOR_FOLLOW_NONE = 0;
|
|
11
|
+
const PROG_ID_ATOM_INSTANCE = 2;
|
|
12
|
+
function writeExOleObjAtom(exObjId, persistIdRef, subType) {
|
|
13
|
+
return require_record_write.writeAtom(require_record_types.RT_ExternalOleObjectAtom, require_record_write.concatBytes(require_record_write.u32le(DVASPECT_CONTENT), require_record_write.u32le(EX_OLE_TYPE_EMBEDDED), require_record_write.u32le(exObjId), require_record_write.u32le(subType), require_record_write.u32le(persistIdRef), require_record_write.u32le(0)), { recVer: 1 });
|
|
14
|
+
}
|
|
15
|
+
function writeExOleEmbedAtom() {
|
|
16
|
+
return require_record_write.writeAtom(require_record_types.RT_ExternalOleEmbedAtom, require_record_write.concatBytes(require_record_write.u32le(EX_COLOR_FOLLOW_NONE), new Uint8Array([
|
|
17
|
+
0,
|
|
18
|
+
0,
|
|
19
|
+
0,
|
|
20
|
+
0
|
|
21
|
+
])));
|
|
22
|
+
}
|
|
23
|
+
function writeProgIdAtom(progId) {
|
|
24
|
+
return require_record_write.writeAtom(require_record_types.RT_CString, require_record_write.utf16le(progId), { recInstance: PROG_ID_ATOM_INSTANCE });
|
|
25
|
+
}
|
|
26
|
+
function progIdFor(objectKind) {
|
|
27
|
+
switch (objectKind) {
|
|
28
|
+
case "wordprocessing": return {
|
|
29
|
+
progId: "Word.Document.8",
|
|
30
|
+
subType: EX_OLE_SUBTYPE_WORD_DOC
|
|
31
|
+
};
|
|
32
|
+
case "spreadsheet": return {
|
|
33
|
+
progId: "Excel.Sheet.8",
|
|
34
|
+
subType: EX_OLE_SUBTYPE_EXCEL
|
|
35
|
+
};
|
|
36
|
+
case "presentation":
|
|
37
|
+
case "formula":
|
|
38
|
+
case "drawing":
|
|
39
|
+
case "chart": return;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function writeExOleEmbedContainer(embed) {
|
|
43
|
+
const named = progIdFor(embed.objectKind);
|
|
44
|
+
const children = [writeExOleEmbedAtom(), writeExOleObjAtom(embed.exObjId, embed.persistIdRef, named?.subType ?? EX_OLE_SUBTYPE_DEFAULT)];
|
|
45
|
+
if (named !== void 0) children.push(writeProgIdAtom(named.progId));
|
|
46
|
+
return require_record_write.writeContainer(require_record_types.RT_ExternalOleEmbed, children);
|
|
47
|
+
}
|
|
48
|
+
function writeExObjListContainer(embeds) {
|
|
49
|
+
if (embeds.length === 0) return;
|
|
50
|
+
const seed = Math.max(...embeds.map((embed) => embed.exObjId)) + 1;
|
|
51
|
+
const exObjListAtom = require_record_write.writeAtom(require_record_types.RT_ExternalObjectListAtom, require_record_write.u32le(seed));
|
|
52
|
+
return require_record_write.writeContainer(require_record_types.RT_ExternalObjectList, [exObjListAtom, ...embeds.map((embed) => writeExOleEmbedContainer(embed))]);
|
|
53
|
+
}
|
|
54
|
+
function writeExObjRefAtom(exObjId) {
|
|
55
|
+
return require_record_write.writeAtom(require_record_types.RT_ExternalObjectRefAtom, require_record_write.u32le(exObjId));
|
|
56
|
+
}
|
|
57
|
+
function writeOleClientData(exObjId) {
|
|
58
|
+
return require_record_write.writeContainer(require_record_types.OfficeArtClientData, [writeExObjRefAtom(exObjId)]);
|
|
59
|
+
}
|
|
60
|
+
function writeExOleObjStg(storageBytes) {
|
|
61
|
+
return require_record_write.writeAtom(require_record_types.RT_ExternalOleObjectStg, storageBytes, { recInstance: 0 });
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
exports.writeExObjListContainer = writeExObjListContainer;
|
|
65
|
+
exports.writeExOleObjStg = writeExOleObjStg;
|
|
66
|
+
exports.writeOleClientData = writeOleClientData;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ContentEmbeddedObjectKind } from "document-schema.js";
|
|
2
|
+
//#region src/ole/embedded-write.d.ts
|
|
3
|
+
interface WritableOleEmbed {
|
|
4
|
+
readonly exObjId: number;
|
|
5
|
+
readonly persistIdRef: number;
|
|
6
|
+
readonly objectKind: ContentEmbeddedObjectKind;
|
|
7
|
+
}
|
|
8
|
+
declare function writeExObjListContainer(embeds: readonly WritableOleEmbed[]): Uint8Array<ArrayBuffer> | undefined;
|
|
9
|
+
declare function writeOleClientData(exObjId: number): Uint8Array<ArrayBuffer>;
|
|
10
|
+
declare function writeExOleObjStg(storageBytes: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { WritableOleEmbed, writeExObjListContainer, writeExOleObjStg, writeOleClientData };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ContentEmbeddedObjectKind } from "document-schema.js";
|
|
2
|
+
//#region src/ole/embedded-write.d.ts
|
|
3
|
+
interface WritableOleEmbed {
|
|
4
|
+
readonly exObjId: number;
|
|
5
|
+
readonly persistIdRef: number;
|
|
6
|
+
readonly objectKind: ContentEmbeddedObjectKind;
|
|
7
|
+
}
|
|
8
|
+
declare function writeExObjListContainer(embeds: readonly WritableOleEmbed[]): Uint8Array<ArrayBuffer> | undefined;
|
|
9
|
+
declare function writeOleClientData(exObjId: number): Uint8Array<ArrayBuffer>;
|
|
10
|
+
declare function writeExOleObjStg(storageBytes: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { WritableOleEmbed, writeExObjListContainer, writeExOleObjStg, writeOleClientData };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { OfficeArtClientData, RT_CString, RT_ExternalObjectList, RT_ExternalObjectListAtom, RT_ExternalObjectRefAtom, RT_ExternalOleEmbed, RT_ExternalOleEmbedAtom, RT_ExternalOleObjectAtom, RT_ExternalOleObjectStg } from "../record/types.js";
|
|
2
|
+
import { concatBytes, u32le, utf16le, writeAtom, writeContainer } from "../record/write.js";
|
|
3
|
+
//#region src/ole/embedded-write.ts
|
|
4
|
+
const EX_OLE_TYPE_EMBEDDED = 0;
|
|
5
|
+
const EX_OLE_SUBTYPE_DEFAULT = 0;
|
|
6
|
+
const EX_OLE_SUBTYPE_WORD_DOC = 2;
|
|
7
|
+
const EX_OLE_SUBTYPE_EXCEL = 3;
|
|
8
|
+
const DVASPECT_CONTENT = 1;
|
|
9
|
+
const EX_COLOR_FOLLOW_NONE = 0;
|
|
10
|
+
const PROG_ID_ATOM_INSTANCE = 2;
|
|
11
|
+
function writeExOleObjAtom(exObjId, persistIdRef, subType) {
|
|
12
|
+
return writeAtom(RT_ExternalOleObjectAtom, concatBytes(u32le(DVASPECT_CONTENT), u32le(EX_OLE_TYPE_EMBEDDED), u32le(exObjId), u32le(subType), u32le(persistIdRef), u32le(0)), { recVer: 1 });
|
|
13
|
+
}
|
|
14
|
+
function writeExOleEmbedAtom() {
|
|
15
|
+
return writeAtom(RT_ExternalOleEmbedAtom, concatBytes(u32le(EX_COLOR_FOLLOW_NONE), new Uint8Array([
|
|
16
|
+
0,
|
|
17
|
+
0,
|
|
18
|
+
0,
|
|
19
|
+
0
|
|
20
|
+
])));
|
|
21
|
+
}
|
|
22
|
+
function writeProgIdAtom(progId) {
|
|
23
|
+
return writeAtom(RT_CString, utf16le(progId), { recInstance: PROG_ID_ATOM_INSTANCE });
|
|
24
|
+
}
|
|
25
|
+
function progIdFor(objectKind) {
|
|
26
|
+
switch (objectKind) {
|
|
27
|
+
case "wordprocessing": return {
|
|
28
|
+
progId: "Word.Document.8",
|
|
29
|
+
subType: EX_OLE_SUBTYPE_WORD_DOC
|
|
30
|
+
};
|
|
31
|
+
case "spreadsheet": return {
|
|
32
|
+
progId: "Excel.Sheet.8",
|
|
33
|
+
subType: EX_OLE_SUBTYPE_EXCEL
|
|
34
|
+
};
|
|
35
|
+
case "presentation":
|
|
36
|
+
case "formula":
|
|
37
|
+
case "drawing":
|
|
38
|
+
case "chart": return;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function writeExOleEmbedContainer(embed) {
|
|
42
|
+
const named = progIdFor(embed.objectKind);
|
|
43
|
+
const children = [writeExOleEmbedAtom(), writeExOleObjAtom(embed.exObjId, embed.persistIdRef, named?.subType ?? EX_OLE_SUBTYPE_DEFAULT)];
|
|
44
|
+
if (named !== void 0) children.push(writeProgIdAtom(named.progId));
|
|
45
|
+
return writeContainer(RT_ExternalOleEmbed, children);
|
|
46
|
+
}
|
|
47
|
+
function writeExObjListContainer(embeds) {
|
|
48
|
+
if (embeds.length === 0) return;
|
|
49
|
+
const seed = Math.max(...embeds.map((embed) => embed.exObjId)) + 1;
|
|
50
|
+
const exObjListAtom = writeAtom(RT_ExternalObjectListAtom, u32le(seed));
|
|
51
|
+
return writeContainer(RT_ExternalObjectList, [exObjListAtom, ...embeds.map((embed) => writeExOleEmbedContainer(embed))]);
|
|
52
|
+
}
|
|
53
|
+
function writeExObjRefAtom(exObjId) {
|
|
54
|
+
return writeAtom(RT_ExternalObjectRefAtom, u32le(exObjId));
|
|
55
|
+
}
|
|
56
|
+
function writeOleClientData(exObjId) {
|
|
57
|
+
return writeContainer(OfficeArtClientData, [writeExObjRefAtom(exObjId)]);
|
|
58
|
+
}
|
|
59
|
+
function writeExOleObjStg(storageBytes) {
|
|
60
|
+
return writeAtom(RT_ExternalOleObjectStg, storageBytes, { recInstance: 0 });
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
export { writeExObjListContainer, writeExOleObjStg, writeOleClientData };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_errors = require("../errors.cjs");
|
|
3
|
+
const require_record_tree = require("../record/tree.cjs");
|
|
4
|
+
const require_record_types = require("../record/types.cjs");
|
|
5
|
+
const require_stream_current_user = require("../stream/current-user.cjs");
|
|
6
|
+
let byte_codec = require("byte-codec");
|
|
7
|
+
//#region src/ole/embedded.ts
|
|
8
|
+
const EX_OLE_OBJ_ATOM_LEN = 24;
|
|
9
|
+
function readExOleObjAtom(record) {
|
|
10
|
+
if (record.data.length < EX_OLE_OBJ_ATOM_LEN) throw new require_errors.PptFormatError(`ExOleObjAtom at offset ${record.offset} carries ${record.data.length} bytes, fewer than the ${EX_OLE_OBJ_ATOM_LEN} its fields need`);
|
|
11
|
+
const view = new DataView(record.data.buffer, record.data.byteOffset, record.data.byteLength);
|
|
12
|
+
return {
|
|
13
|
+
exObjId: view.getUint32(8, true),
|
|
14
|
+
persistIdRef: view.getUint32(16, true)
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const PROG_ID_ATOM_INSTANCE = 2;
|
|
18
|
+
function readExOleEmbedContainer(container) {
|
|
19
|
+
const children = require_record_tree.childRecords(container);
|
|
20
|
+
const objAtom = require_record_tree.findChild(children, require_record_types.RT_ExternalOleObjectAtom);
|
|
21
|
+
if (objAtom === void 0) return;
|
|
22
|
+
const progIdAtom = children.find((child) => child.header.recType === 4026 && child.header.recInstance === PROG_ID_ATOM_INSTANCE);
|
|
23
|
+
return {
|
|
24
|
+
...readExOleObjAtom(objAtom),
|
|
25
|
+
progId: progIdAtom === void 0 ? void 0 : require_stream_current_user.decodeUtf16Le(progIdAtom.data)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function readExternalOleEmbeds(documentChildren) {
|
|
29
|
+
const embeds = /* @__PURE__ */ new Map();
|
|
30
|
+
const objList = require_record_tree.findChild(documentChildren, require_record_types.RT_ExternalObjectList);
|
|
31
|
+
if (objList === void 0) return embeds;
|
|
32
|
+
for (const child of require_record_tree.childRecords(objList)) {
|
|
33
|
+
if (child.header.recType !== 4044) continue;
|
|
34
|
+
const embed = readExOleEmbedContainer(child);
|
|
35
|
+
if (embed !== void 0) embeds.set(embed.exObjId, embed);
|
|
36
|
+
}
|
|
37
|
+
return embeds;
|
|
38
|
+
}
|
|
39
|
+
function readExObjIdRef(clientData) {
|
|
40
|
+
const record = require_record_tree.findChild(require_record_tree.childRecords(clientData), require_record_types.RT_ExternalObjectRefAtom);
|
|
41
|
+
if (record === void 0 || record.data.length < 4) return;
|
|
42
|
+
return new DataView(record.data.buffer, record.data.byteOffset, record.data.byteLength).getUint32(0, true);
|
|
43
|
+
}
|
|
44
|
+
const EX_OLE_OBJ_STG_INSTANCE_COMPRESSED = 1;
|
|
45
|
+
function resolveOleObjectStorage(streamBytes, directory, persistIdRef) {
|
|
46
|
+
const offset = directory.get(persistIdRef);
|
|
47
|
+
if (offset === void 0) return;
|
|
48
|
+
let record;
|
|
49
|
+
try {
|
|
50
|
+
record = require_record_tree.readRecordAt(streamBytes, offset);
|
|
51
|
+
} catch {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (record.header.recType !== 4113) return;
|
|
55
|
+
if (record.header.recInstance !== EX_OLE_OBJ_STG_INSTANCE_COMPRESSED) return record.data;
|
|
56
|
+
if (record.data.length < 4) return;
|
|
57
|
+
try {
|
|
58
|
+
return (0, byte_codec.inflate)(record.data.subarray(4));
|
|
59
|
+
} catch {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
exports.readExObjIdRef = readExObjIdRef;
|
|
65
|
+
exports.readExternalOleEmbeds = readExternalOleEmbeds;
|
|
66
|
+
exports.resolveOleObjectStorage = resolveOleObjectStorage;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { t as PptRecord } from "../tree-Du_LXAF0.cjs";
|
|
2
|
+
//#region src/ole/embedded.d.ts
|
|
3
|
+
interface ExternalOleEmbed {
|
|
4
|
+
readonly exObjId: number;
|
|
5
|
+
readonly progId: string | undefined;
|
|
6
|
+
readonly persistIdRef: number;
|
|
7
|
+
}
|
|
8
|
+
declare function readExternalOleEmbeds(documentChildren: readonly PptRecord[]): ReadonlyMap<number, ExternalOleEmbed>;
|
|
9
|
+
declare function readExObjIdRef(clientData: PptRecord): number | undefined;
|
|
10
|
+
declare function resolveOleObjectStorage(streamBytes: Uint8Array<ArrayBuffer>, directory: ReadonlyMap<number, number>, persistIdRef: number): Uint8Array<ArrayBuffer> | undefined;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { ExternalOleEmbed, readExObjIdRef, readExternalOleEmbeds, resolveOleObjectStorage };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { t as PptRecord } from "../tree-PMcPNgd-.js";
|
|
2
|
+
//#region src/ole/embedded.d.ts
|
|
3
|
+
interface ExternalOleEmbed {
|
|
4
|
+
readonly exObjId: number;
|
|
5
|
+
readonly progId: string | undefined;
|
|
6
|
+
readonly persistIdRef: number;
|
|
7
|
+
}
|
|
8
|
+
declare function readExternalOleEmbeds(documentChildren: readonly PptRecord[]): ReadonlyMap<number, ExternalOleEmbed>;
|
|
9
|
+
declare function readExObjIdRef(clientData: PptRecord): number | undefined;
|
|
10
|
+
declare function resolveOleObjectStorage(streamBytes: Uint8Array<ArrayBuffer>, directory: ReadonlyMap<number, number>, persistIdRef: number): Uint8Array<ArrayBuffer> | undefined;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { ExternalOleEmbed, readExObjIdRef, readExternalOleEmbeds, resolveOleObjectStorage };
|