Reg : Issues found after upgrading aspose slides version from 2.0.0.0 to 3.1.1.1

Hi ,

Please provide me the solutions for the following issues.

Please refer the screen shot for issues.

Issue 1:

Portion.FontBold property alwasy set as false even if we turn manually as true which results the font as nomal font without displaying original font .Please refer the screenashot .the second image should be display as bold.

Issue 2:

All text values embedded with "Bullet".It should not be like that.It should be like first image.

Issue 3:

After update the licesce key for aspose in resource file i am getting attached screen shot 2 error while running the application.

Hello,

Thanks for reporting. We will look into these issues and fix them.

Hi,

Please let me know your progress as soon as possible.so that we can proceed further to upgrate the tool.

Thanks,

Priya

Hello,

I think the issue 3 just because Aspose.Slides.dll obfuscated and protected so disassembling and access through reflection shouldn’t work.

Could you please provide additional information for the issues 1 and 2. We couldn’t reproduce it yet so we need some test cases with code example and real presentation.

Thank you,

Hi,

For Issue 1, i am not clear about your reply. can you please explain me more since i am not getting any error for presvious our existing dll.

for Issue 2 , please see the below screen shot.

for Issue 3,i have fixed.

Thanks

Priya

Hello Priya,

Screenshots don’t give us any useful information. We need real source ppt file used in the application, code which is used to change text and set Bold property, created ppt file to check the result. We should investigate internals of the file but not it’s appearance. In out tests Bold and other properties work fine so I asked you to provide test case for reproducing the problem. I’m waiting for examples in case everything is clear now.

Thank you,

Hi Alexey ,

thanks for ur reply.

Issue 1 :
----------

I found the following details from urs team above replies.

"Aspose.Slides.dll obfuscated and protected so disassembling and access through reflection shouldn't work"

My Doubt is: Why it is not protected in your existing versions ? since it is throwing some exceptions in my code.


Issue 2:
----------

It is the related to Aspose.slides.portion. Portion.FondBold property is always false even if you turn as true.

Please find the following code in the attached solution with this mail.

// Not working scenario :

Portion portion = new Portion("Checking Font Bold with Portions");

portion.FontBold = true;

portion.FontHeight = 10;

th.Paragraphs[0].Portions.Clear();

th.Paragraphs[0].Portions.Add(portion);

//Working scenario

//th.Paragraphs[0].Portions[0].Text = "Demo Presentation";

The attached solution created with the latest aspose version 3.1.1.1.

Please let me know if u need anything else.

Thanks,

Priya

body { margin: 0 0 0 0; padding:0 0 0 0 }
td,div { font-family:Tahoma;font-size:8pt;vertical-align:top }
body { margin: 0 0 0 0; padding:0 0 0 0 }
.transcript { background-color:#d2d2d2; }
.messageBlock { margin-left:4px; margin-bottom:3px }
.message { margin-left:100px; word-wrap:break-word; white-space:-moz-pre-wrap; _white-space:pre; }
.messageCont { margin-left:100px; word-wrap:break-word; white-space:-moz-pre-wrap; _white-space:pre;}
.other { color:#39577a;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
.myself { color:#da8103;font-style:normal;font-weight:bold;font-style:normal;float:left; width:95px; }
.otherCont { font-size:8px;text-align:right; color:#39577a;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.myselfCont { font-size:8px;text-align:right; color:#da8103;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.system { margin-left:4px; word-wrap:break-word;color:#da8103;font-style:normal;font-weight:normal; white-space:-moz-pre-wrap; _white-space:pre; }
.showTimestamp { margin-right:3px; float:right; color:#999999;font-style:normal;font-weight:normal; }
.other1 { color:#ac2000;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
.otherCont1 { font-size:8px;text-align:right; color:#ac2000;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.other2 { color:#3c9fa8;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
.otherCont2 { font-size:8px;text-align:right; color:#3c9fa8;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.other3 { color:#e25614;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
.otherCont3 { font-size:8px;text-align:right; color:#e25614;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.other4 { color:#0b6ac8;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
.otherCont4 { font-size:8px;text-align:right; color:#0b6ac8;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.other5 { color:#b23290;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
.otherCont5 { font-size:8px;text-align:right; color:#b23290;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.other6 { color:#02e7c7;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
.otherCont6 { font-size:8px;text-align:right; color:#02e7c7;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.other7 { color:#5b3284;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
.otherCont7 { font-size:8px;text-align:right; color:#5b3284;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
.tsDisplay { display:block }

Hi,

As per our requirement, we are loading the assembly dynamically. Reflection in aspose slides dll is set to protected on this new version of dll, so we are not able to load the aspose slides dll dynamically. Can you please remove the protection on reflection in the aspose slides dll and send to us?

Thanks,
Priya

Hello Priya,

Issue 2 is correct behavior. You should set Paragraph and Portion properties after adding them to a TextFrame. So this code should work fine:

Portion portion = new Portion(“Checking Font Bold with Portions”);

th.Paragraphs[0].Portions.Clear();
th.Paragraphs[0].Portions.Add(portion);

portion.FontBold = true;
portion.FontHeight = 10;

Hi,

As per our requirement, we are loading the assembly dynamically. Reflection in aspose slides dll is set to protected on this new version of dll, so we are not able to load the aspose slides dll dynamically. Can you please remove the protection on reflection in the aspose slides dll and send to us?

Thanks,
Priya

Hi ,

Still i have some questions on your above points.

Issue 1 : About Portion :

As you said, we can set the portion properties after adding them into textframe only then just i want to know that how it was working with your 2.5.4.0 dll.(Note : I have attcehed the 2.5.4.0 dll.Please execute my above testcase with Dll and you can see it is working).

If it is the current behaviour of the new dll then can you please let me know the specail feature of this one . so thta i can update my code.

Issue 2 : Reflection protected in Aspose slides new version DLL.

As per our requirement, we are loading the assembly dynamically. Reflection in aspose slides dll is set to protected on this new version of dll, so we are not able to load the aspose slides dll dynamically. Can you please remove the protection on reflection in the aspose slides dll and send to us?

2.5.4.0 dll which we are using now is working fine for both the above cases.Please check with the attched dll.

Awaiting for your reply. Thanks in advance.

Thanks,

Priya

Hello Priya,

1. Aspose.Slides 2.5.4 and other versions had problems with text formatting after slide cloning so algorithm was changed to avoid it. Actually, losing of text formatting was unpredictable for different presentations in old Aspose.Slides versions. Now you should just remember that Paragraph and Portion properties should be changed after adding object to a TextFrame and everything will work fine.

2. Could you please provide example of code you use to load Aspose.Slides dynamically from your application so we could experiment with different obfuscator options and find the best one.

The code sample for issue 2 :

file=C:\AnswersWeb_2008_upgrade2\AnswersWeb\Source\AnswersWeb5.7\MLOSite\bin\Aspose.Slides.dll;

Assembly asm = System.Reflection.Assembly.LoadFrom(file);

foreach (Type panelType in asm.GetTypes())

{

//make sure the control supports the panel interface

if (panelType.GetInterface(pluginInterface.ToString()) != null)

{

supportedPlugins.Add(panelType);

}

}

Please refer screen shot for error description :

Thank you for the code example. We will experiment with our obfuscator and will let you know about results.

Hi Alexey Zhilin,

We have high important release which is going to happen in next 2 weeks. Requesting you to give us the solution ASAP so that we can deliver the same without missing the schedule.

Thanks,

Priya

Hello Priya,

Please try attached new version of Aspose.Slides for .NET. It should work through reflection now.

Hi Alexey Zhilin,

Thanks for your co operation.Its working now with out any issues. I will contact you if i get any issues in future.

Thank U once again.

Regards,

Priya

Hi Alexey,

We need to know whether multiple versions of Aspose tools can be installed in one server and different applications can use different versions.

Please let me know as soon as possibel.

Thanks,
priya

Hi Alexey,

Can you please send me the installer for Aspose.Slides Enterprise Edition v3.1.1.8 with this reflection package.

Thanks,

Priya

Hi Priya,

It is not possible to create old version obfuscated in this way. You can use the latest version here as it works fine with reflection.