ppt-codec 1.5.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 +91 -75
- package/dist/base64.cjs +48 -0
- package/dist/base64.d.cts +5 -0
- package/dist/base64.d.ts +5 -0
- package/dist/base64.js +46 -0
- package/dist/diagnostics-CqxAnubw.d.cts +16 -0
- package/dist/diagnostics-CqxAnubw.d.ts +16 -0
- package/dist/diagnostics.cjs +11 -0
- package/dist/diagnostics.d.cts +2 -0
- package/dist/diagnostics.d.ts +2 -0
- package/dist/diagnostics.js +9 -0
- package/dist/document/color-scheme.cjs +4 -0
- package/dist/document/color-scheme.d.cts +2 -1
- package/dist/document/color-scheme.d.ts +2 -1
- package/dist/document/color-scheme.js +4 -1
- package/dist/document/master-write.cjs +21 -16
- package/dist/document/master-write.d.cts +2 -1
- package/dist/document/master-write.d.ts +2 -1
- package/dist/document/master-write.js +21 -16
- package/dist/document/notes-write.cjs +15 -7
- package/dist/document/notes-write.d.cts +2 -1
- package/dist/document/notes-write.d.ts +2 -1
- package/dist/document/notes-write.js +15 -7
- package/dist/document/notes.cjs +4 -3
- package/dist/document/notes.js +4 -3
- package/dist/drawing/blips.cjs +81 -0
- package/dist/drawing/blips.d.cts +16 -0
- package/dist/drawing/blips.d.ts +16 -0
- package/dist/drawing/blips.js +77 -0
- package/dist/drawing/properties.cjs +102 -0
- package/dist/drawing/properties.d.cts +29 -0
- package/dist/drawing/properties.d.ts +29 -0
- package/dist/drawing/properties.js +87 -0
- package/dist/drawing/shapes-write.cjs +234 -17
- package/dist/drawing/shapes-write.d.cts +16 -4
- package/dist/drawing/shapes-write.d.ts +16 -4
- package/dist/drawing/shapes-write.js +237 -19
- package/dist/drawing/shapes.cjs +34 -4
- package/dist/drawing/shapes.d.cts +11 -2
- package/dist/drawing/shapes.d.ts +11 -2
- package/dist/drawing/shapes.js +35 -5
- package/dist/index.cjs +48 -3
- package/dist/index.d.cts +12 -8
- package/dist/index.d.ts +12 -8
- package/dist/index.js +11 -7
- 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 +145 -22
- package/dist/read.d.cts +13 -5
- package/dist/read.d.ts +13 -5
- package/dist/read.js +148 -26
- package/dist/record/types.cjs +28 -0
- package/dist/record/types.d.cts +15 -1
- package/dist/record/types.d.ts +15 -1
- package/dist/record/types.js +15 -1
- 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 +137 -38
- package/dist/write.d.cts +14 -5
- package/dist/write.d.ts +14 -5
- package/dist/write.js +137 -38
- package/package.json +2 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import { base64ToBytes, bytesToBase64 } from "./base64.cjs";
|
|
1
2
|
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
3
|
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
4
|
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, CharacterProperties, MasterStyleLevel, MasterTextStyleAtom, 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, RunColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom, readTextMasterStyleAtom } from "./text/style.cjs";
|
|
4
5
|
import { TextBody, buildTextBody, collectFontFamilies } from "./content-write.cjs";
|
|
5
6
|
import { buildParagraphs } from "./content.cjs";
|
|
7
|
+
import { a as PptDiagnosticSink, i as PptDiagnosticSeverity, n as PptDiagnostic, r as PptDiagnosticCodes, t as NOOP_PPT_DIAGNOSTIC_SINK } from "./diagnostics-CqxAnubw.cjs";
|
|
6
8
|
import { writeSlideSchemeColorSchemeAtom } from "./document/color-scheme-write.cjs";
|
|
7
9
|
import { writeDocumentAtom } from "./document/document-atom-write.cjs";
|
|
8
10
|
import { DocumentAtom, PointStruct, readDocumentAtom } from "./document/document-atom.cjs";
|
|
9
11
|
import { writeEnvironment } from "./document/fonts-write.cjs";
|
|
10
12
|
import { readFontNames } from "./document/fonts.cjs";
|
|
13
|
+
import { DrawingShape, DrawingWriteContext, DrawingWritten, writeSlideDrawing } from "./drawing/shapes-write.cjs";
|
|
11
14
|
import { MASTER_SLIDE_ID, writeMainMaster, writeMasterListWithText, writeSlideAtom, writeSlideAtomForSlide } from "./document/master-write.cjs";
|
|
12
15
|
import { NotesPersist, readNotesListWithText } from "./document/notes-list.cjs";
|
|
13
16
|
import { writeNotesListWithText } from "./document/notes-list-write.cjs";
|
|
@@ -15,19 +18,20 @@ import { writeNotesAtom, writeNotesContainer } from "./document/notes-write.cjs"
|
|
|
15
18
|
import { NOTES_MASTER_SLIDE_ID_REF, NotesAtom, readNotesAtom, readNotesContainerAtom, readNotesText } from "./document/notes.cjs";
|
|
16
19
|
import { SlidePersistRef, writeSlideListWithText } from "./document/slide-list-write.cjs";
|
|
17
20
|
import { OutlineText, SlidePersist, readSlideListWithText } from "./document/slide-list.cjs";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
21
|
+
import { PptBlip, blipForPib, isBlipFormat, readBlipStore, writeDrawingGroupContainer } from "./drawing/blips.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
|
+
import { PptShape, PptTable, ShapeRect, readDrawingShapes } from "./drawing/shapes.cjs";
|
|
20
24
|
import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from "./errors.cjs";
|
|
21
25
|
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";
|
|
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
|
+
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";
|
|
24
28
|
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";
|
|
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";
|
|
26
30
|
import { writeCurrentUserAtom } from "./stream/current-user-write.cjs";
|
|
27
31
|
import { PersistDirectory, UserEdit, buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.cjs";
|
|
28
32
|
import { PersistDirectoryEntryToWrite, UserEditFields, writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.cjs";
|
|
29
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";
|
|
30
34
|
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, 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, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, MasterStyleLevel, MasterTextStyleAtom, 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, 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, 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, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom,
|
|
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
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import { base64ToBytes, bytesToBase64 } from "./base64.js";
|
|
1
2
|
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
3
|
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
4
|
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, CharacterProperties, MasterStyleLevel, MasterTextStyleAtom, 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, RunColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom, readTextMasterStyleAtom } from "./text/style.js";
|
|
4
5
|
import { TextBody, buildTextBody, collectFontFamilies } from "./content-write.js";
|
|
5
6
|
import { buildParagraphs } from "./content.js";
|
|
7
|
+
import { a as PptDiagnosticSink, i as PptDiagnosticSeverity, n as PptDiagnostic, r as PptDiagnosticCodes, t as NOOP_PPT_DIAGNOSTIC_SINK } from "./diagnostics-CqxAnubw.js";
|
|
6
8
|
import { writeSlideSchemeColorSchemeAtom } from "./document/color-scheme-write.js";
|
|
7
9
|
import { writeDocumentAtom } from "./document/document-atom-write.js";
|
|
8
10
|
import { DocumentAtom, PointStruct, readDocumentAtom } from "./document/document-atom.js";
|
|
9
11
|
import { writeEnvironment } from "./document/fonts-write.js";
|
|
10
12
|
import { readFontNames } from "./document/fonts.js";
|
|
13
|
+
import { DrawingShape, DrawingWriteContext, DrawingWritten, writeSlideDrawing } from "./drawing/shapes-write.js";
|
|
11
14
|
import { MASTER_SLIDE_ID, writeMainMaster, writeMasterListWithText, writeSlideAtom, writeSlideAtomForSlide } from "./document/master-write.js";
|
|
12
15
|
import { NotesPersist, readNotesListWithText } from "./document/notes-list.js";
|
|
13
16
|
import { writeNotesListWithText } from "./document/notes-list-write.js";
|
|
@@ -15,19 +18,20 @@ import { writeNotesAtom, writeNotesContainer } from "./document/notes-write.js";
|
|
|
15
18
|
import { NOTES_MASTER_SLIDE_ID_REF, NotesAtom, readNotesAtom, readNotesContainerAtom, readNotesText } from "./document/notes.js";
|
|
16
19
|
import { SlidePersistRef, writeSlideListWithText } from "./document/slide-list-write.js";
|
|
17
20
|
import { OutlineText, SlidePersist, readSlideListWithText } from "./document/slide-list.js";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
21
|
+
import { PptBlip, blipForPib, isBlipFormat, readBlipStore, writeDrawingGroupContainer } from "./drawing/blips.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
|
+
import { PptShape, PptTable, ShapeRect, readDrawingShapes } from "./drawing/shapes.js";
|
|
20
24
|
import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from "./errors.js";
|
|
21
25
|
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";
|
|
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
|
+
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";
|
|
24
28
|
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";
|
|
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";
|
|
26
30
|
import { writeCurrentUserAtom } from "./stream/current-user-write.js";
|
|
27
31
|
import { PersistDirectory, UserEdit, buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.js";
|
|
28
32
|
import { PersistDirectoryEntryToWrite, UserEditFields, writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.js";
|
|
29
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";
|
|
30
34
|
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, 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, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, MasterStyleLevel, MasterTextStyleAtom, 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, 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, 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, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom,
|
|
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
|
@@ -1,27 +1,31 @@
|
|
|
1
|
+
import { base64ToBytes, bytesToBase64 } from "./base64.js";
|
|
1
2
|
import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from "./errors.js";
|
|
2
3
|
import { CONTAINER_REC_VER, RECORD_HEADER_SIZE, isContainerRecord, readRecordHeader } from "./record/header.js";
|
|
3
4
|
import { childRecords, findChild, findChildren, findDescendants, readRecordAt, readRecordSequence } from "./record/tree.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 { 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";
|
|
5
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";
|
|
6
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";
|
|
7
|
-
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";
|
|
8
9
|
import { buildTextBody, collectFontFamilies } from "./content-write.js";
|
|
9
10
|
import { buildParagraphs } from "./content.js";
|
|
11
|
+
import { NOOP_PPT_DIAGNOSTIC_SINK, PptDiagnosticCodes } from "./diagnostics.js";
|
|
10
12
|
import { asciiBytes, concatBytes, i16le, i32le, u16le, u32le, u8, utf16le, writeAtom, writeContainer } from "./record/write.js";
|
|
11
13
|
import { writeSlideSchemeColorSchemeAtom } from "./document/color-scheme-write.js";
|
|
12
14
|
import { readDocumentAtom } from "./document/document-atom.js";
|
|
13
15
|
import { writeDocumentAtom } from "./document/document-atom-write.js";
|
|
14
16
|
import { readFontNames } from "./document/fonts.js";
|
|
15
17
|
import { writeEnvironment } from "./document/fonts-write.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
+
import { blipForPib, isBlipFormat, readBlipStore, writeDrawingGroupContainer } from "./drawing/blips.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";
|
|
18
20
|
import { readNotesListWithText } from "./document/notes-list.js";
|
|
19
21
|
import { readDrawingShapes } from "./drawing/shapes.js";
|
|
20
22
|
import { NOTES_MASTER_SLIDE_ID_REF, readNotesAtom, readNotesContainerAtom, readNotesText } from "./document/notes.js";
|
|
21
23
|
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";
|
|
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";
|
|
23
25
|
import { buildPersistDirectory, readPersistDirectoryAtom, readUserEditAtom, resolvePersistObject } from "./stream/persist.js";
|
|
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";
|
|
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";
|
|
25
29
|
import { MASTER_SLIDE_ID, writeMainMaster, writeMasterListWithText, writeSlideAtom, writeSlideAtomForSlide } from "./document/master-write.js";
|
|
26
30
|
import { writeNotesListWithText } from "./document/notes-list-write.js";
|
|
27
31
|
import { writeNotesAtom, writeNotesContainer } from "./document/notes-write.js";
|
|
@@ -30,4 +34,4 @@ import { layoutMetadataToSummaryInformation } from "./metadata.js";
|
|
|
30
34
|
import { writeCurrentUserAtom } from "./stream/current-user-write.js";
|
|
31
35
|
import { writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.js";
|
|
32
36
|
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, 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, 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, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom,
|
|
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 };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { PptFormatError } from "../errors.js";
|
|
2
|
+
import { childRecords, findChild, readRecordAt } from "../record/tree.js";
|
|
3
|
+
import { RT_ExternalObjectList, RT_ExternalObjectRefAtom, RT_ExternalOleObjectAtom } from "../record/types.js";
|
|
4
|
+
import { decodeUtf16Le } from "../stream/current-user.js";
|
|
5
|
+
import { inflate } from "byte-codec";
|
|
6
|
+
//#region src/ole/embedded.ts
|
|
7
|
+
const EX_OLE_OBJ_ATOM_LEN = 24;
|
|
8
|
+
function readExOleObjAtom(record) {
|
|
9
|
+
if (record.data.length < EX_OLE_OBJ_ATOM_LEN) throw new PptFormatError(`ExOleObjAtom at offset ${record.offset} carries ${record.data.length} bytes, fewer than the ${EX_OLE_OBJ_ATOM_LEN} its fields need`);
|
|
10
|
+
const view = new DataView(record.data.buffer, record.data.byteOffset, record.data.byteLength);
|
|
11
|
+
return {
|
|
12
|
+
exObjId: view.getUint32(8, true),
|
|
13
|
+
persistIdRef: view.getUint32(16, true)
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const PROG_ID_ATOM_INSTANCE = 2;
|
|
17
|
+
function readExOleEmbedContainer(container) {
|
|
18
|
+
const children = childRecords(container);
|
|
19
|
+
const objAtom = findChild(children, RT_ExternalOleObjectAtom);
|
|
20
|
+
if (objAtom === void 0) return;
|
|
21
|
+
const progIdAtom = children.find((child) => child.header.recType === 4026 && child.header.recInstance === PROG_ID_ATOM_INSTANCE);
|
|
22
|
+
return {
|
|
23
|
+
...readExOleObjAtom(objAtom),
|
|
24
|
+
progId: progIdAtom === void 0 ? void 0 : decodeUtf16Le(progIdAtom.data)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function readExternalOleEmbeds(documentChildren) {
|
|
28
|
+
const embeds = /* @__PURE__ */ new Map();
|
|
29
|
+
const objList = findChild(documentChildren, RT_ExternalObjectList);
|
|
30
|
+
if (objList === void 0) return embeds;
|
|
31
|
+
for (const child of childRecords(objList)) {
|
|
32
|
+
if (child.header.recType !== 4044) continue;
|
|
33
|
+
const embed = readExOleEmbedContainer(child);
|
|
34
|
+
if (embed !== void 0) embeds.set(embed.exObjId, embed);
|
|
35
|
+
}
|
|
36
|
+
return embeds;
|
|
37
|
+
}
|
|
38
|
+
function readExObjIdRef(clientData) {
|
|
39
|
+
const record = findChild(childRecords(clientData), RT_ExternalObjectRefAtom);
|
|
40
|
+
if (record === void 0 || record.data.length < 4) return;
|
|
41
|
+
return new DataView(record.data.buffer, record.data.byteOffset, record.data.byteLength).getUint32(0, true);
|
|
42
|
+
}
|
|
43
|
+
const EX_OLE_OBJ_STG_INSTANCE_COMPRESSED = 1;
|
|
44
|
+
function resolveOleObjectStorage(streamBytes, directory, persistIdRef) {
|
|
45
|
+
const offset = directory.get(persistIdRef);
|
|
46
|
+
if (offset === void 0) return;
|
|
47
|
+
let record;
|
|
48
|
+
try {
|
|
49
|
+
record = readRecordAt(streamBytes, offset);
|
|
50
|
+
} catch {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (record.header.recType !== 4113) return;
|
|
54
|
+
if (record.header.recInstance !== EX_OLE_OBJ_STG_INSTANCE_COMPRESSED) return record.data;
|
|
55
|
+
if (record.data.length < 4) return;
|
|
56
|
+
try {
|
|
57
|
+
return inflate(record.data.subarray(4));
|
|
58
|
+
} catch {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
export { readExObjIdRef, readExternalOleEmbeds, resolveOleObjectStorage };
|