save method
Contents
[
Hide
]save(stream)
Saves the data of the embedded object into the specified stream.
def save(self, stream: io.BytesIO):
...
Parameter | Type | Description |
---|---|---|
stream | io.BytesIO | Where to save the object data. |
Remarks
It is the responsibility of the caller to dispose the stream.
Exceptions
exception | condition |
---|---|
RuntimeError (Proxy error(InvalidOperationException)) | Throws if you attempt to save a linked object. |
save(file_name)
Saves the data of the embedded object into a file with the specified name.
def save(self, file_name: str):
...
Parameter | Type | Description |
---|---|---|
file_name | str | Name of the file to save the OLE object data. |
Exceptions
exception | condition |
---|---|
RuntimeError (Proxy error(InvalidOperationException)) | Throws if you attempt to save a linked object. |
Examples
Shows how to extract embedded OLE objects into files.
doc = aw.Document(file_name=MY_DIR + 'OLE spreadsheet.docm')
shape = doc.get_child(aw.NodeType.SHAPE, 0, True).as_shape()
# The OLE object in the first shape is a Microsoft Excel spreadsheet.
ole_format = shape.ole_format
self.assertEqual('Excel.Sheet.12', ole_format.prog_id)
# Our object is neither auto updating nor locked from updates.
self.assertFalse(ole_format.auto_update)
self.assertEqual(False, ole_format.is_locked)
# If we plan on saving the OLE object to a file in the local file system,
# we can use the "SuggestedExtension" property to determine which file extension to apply to the file.
self.assertEqual('.xlsx', ole_format.suggested_extension)
# Below are two ways of saving an OLE object to a file in the local file system.
# 1 - Save it via a stream:
with system_helper.io.FileStream(ARTIFACTS_DIR + 'OLE spreadsheet extracted via stream' + ole_format.suggested_extension, system_helper.io.FileMode.CREATE) as fs:
ole_format.save(stream=fs)
# 2 - Save it directly to a filename:
ole_format.save(file_name=ARTIFACTS_DIR + 'OLE spreadsheet saved directly' + ole_format.suggested_extension)
See Also
- module aspose.words.drawing
- class OleFormat