Hi there,
Thanks for attaching your documents here for testing.
When an object is embedded inside a document (for MS Word at least) the filename is actually not stored. The SourceFullName property only applies to when a document is linked, and that property contains the path of where to find the document it is linked too. In Aspose.Words, the OleFormat.IsLink property is actually just testing if the SourceFileName property is empty or not, as it appears the presense of any set path is what defines an object to be linked or not. On the other hand, embedded objects store no file name so with all of the embedded objects you have encountered, this field has been empty.
You will also notice that the embedded objects in your documents display the short file name below the icon. This is not stored as text, but is actually an image in EMF format which is saved by MS Word with the object itself (and which can also be accessed and extracted using the ImageData property of the Shape class)
I believe the above applies to the other Aspose products as well, although they will need to clarify that. My suggestion for you to be able to extract original file names with an embedded object is to simply store them in the Alternative Text or ScreenTip of the object in MS Word (this can then easily be extracted from the object in code by using the appropriate property), or you may even want to consider running some OCR on the image and extracting the file name from there.
If you have any further queries, please feel free to ask.
Thanks,
Adam Skelton
Programming Writer
Aspose Auckland Team