IOleObjectFrame::set_SubstitutePictureTitle Doesn't Work with Unicode Strings

Unicode symbols are replaced with “?”.

To reproduce, create an ole object, set_SubstitutePictureTitle with a unicode string and save presentation.

auto pres = System::MakeObject<Slides::Presentation>();
auto slide = pres->get_Slides()->idx_get(0);

auto bytes = System::IO::File::ReadAllBytes(u"image.png");
auto dataInfo = System::MakeObject<Aspose::Slides::DOM::Ole::OleEmbeddedDataInfo>(bytes, u"png");
auto shape = slide->get_Shapes()->AddOleObjectFrame(0, 0, 100, 100, dataInfo);
shape->set_IsObjectIcon(true);

shape->set_SubstitutePictureTitle(u"кирилиця.png");

pres->Save(u"output.pptx", Aspose::Slides::Export::SaveFormat::Pptx);

image.png (4.9 KB)

@ezolenko,
Thank you for contacting support. I am working on the issue and will get back to you soon.

@ezolenko,
Please check your results using the latest version of Aspose.Slides for C++ if possible. If the issue persists, please share the following files and information:

  • the files you used with the code example
  • output presentation file
  • OS version on which the code was executed
  • Aspose.Slides version you used
  • version of PowerPoint that shows the problem

Sorry, I forgot all the details originally.

I updated the example a bit (so that it actually compiles). Only thing the example is missing that runs in my executable is license initialization. Attached test.zip with image.png and saved presentation.

aspose.slides.cpp version: 24.1.0
powerpoint version: 16.0.17231.20194
OS: Win 11 Enterprise, build 10.022621

test.zip (53.5 KB)

@ezolenko,
Thank you for the details. I am working on the issue and will get back to you soon.

@ezolenko,
I’ve reproduced the problem you described.

We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): SLIDESCPP-3892

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.