I am writing software that uses Aspose.Slides to dynamically populate a table. In addition I clone slides and also delete columns.
Here is the sequence of events:
1. A PowerPoint table is created in native Powerpoint and the ppt file containing that table is saved in native powerpoint.
2. Then this ppt file is opened using Aspose.Slides and some manipulations take place (like changes to the text in cells and deleting some rows etc).
3. The right most column is deleted.
4. This slide is cloned.
5. Written to the ppt file and saved using Aspose.Slides.
6. When you open the ppt file the table as a whole is shifted a liitle to the left in the second slide (the slide that was created as a result of cloning). Also the individuals cells too have moved a little bit to the left.
I have included sample code and ppt files to carry out your tests. The ppt file "input.ppt" was created by running my software until the completion of step #2 of above.
In the included sample code I open this ppt file and delete the rightmost column and then write it to "output.ppt" using Aspose.Slides.
You can see the table and cell shifting effect when you compare slides 1 and 2 in "output.ppt". (Also notice how the table has been converted to individual shapes)
However if you open the "input.ppt" in native PowerPoint and then do sme small change like resizing some column and then save it in native PowerPoint itself and give that file as the input to my sample code then the table and cell shifting effect is not seen.
Hence my conclusion is that Aspose.Slides has some issue while writing the ppt file during my initial manipulations (step #2 above).
We are late on our software release because of this issue (I was trying to figure out what was wrong for the past couple of days) and would appreciate your speedy resolution.
The problem is probably due to incremental updates (aka fast saves) of PowerPoint, which is enabled by default. When this option is enabled, PowerPoint instead of updating existing records adds new records to the file. Probably, these old and new records confuse Aspose.Slides.
When you resize the table little bit, MS-PowerPoint rewrites the record, which Aspose.Slides understands and manipulates perfectly. So you can get rid of such troubles by forcing the MS-PowerPoint to rewrite records, as you have already done.
I will report this problem and development team will look into this problem.
Can you please let me know of any progress your development team has achieved over this issue? Also is there any pointer to when a fix for this issue will be available?
This bug report is in queue and it could take 2-3 additional weeks to be fixed because of its highly unpredictable nature. Please keep on checking this post; I will repost here to let you know about this bug fix.
Are you still getting this bug after resizing table in your source ppt and then resaving it? Please let me know about it.
Do you have any updates in this issue resolution? I would like to remind you again that the resolution of this issue at the earliest is critical to our product.
We worked with this problem last days but I’m afraid it can’t be fixed. I will explain why.
1. After deleting right column one horizontal line is visible and table converted to groupshape. This happens because table has several lines per each cell border. Actually, we can’t create such table in any version of MS PowerPoint so I think table is simply broken. You can check it by converting table to groupshape in MS PowerPoint, ungroup it and try to delete cell borders one by one.
2. You reported table moved to the left. That is not right. Table position is not changed at all. You can see it on the ruler bar. Yes, position of table changed on the screen but just because right scroll bar became visible but position of table on the slide is the same as before.
#1. I do not understand why you need to convert the table to groupshapes to delete a column since I can delete a column in PowerPoint without resorting to that.
#2. There seem to be a misunderstanding in what I meant by “the table as a whole is shifted a little to the left in the second slide”. What I actually meant was not that the table has MOVED but the table has actually shrunk. In other words there is no change to the left and top coordinates of the table but the width of the table (and even the width of the individual columns) has decreased. You can observe that in the attachment I sent you. Please compare slides 1 and 2 in “output.ppt”. I had mentioned this in my first post (You can see the table and cell shifting effect when you compare slides 1 and 2 in “output.ppt”.)
Please let me know if you understand my above point. I do not want to be waiting any longer and then to know that there is a miscommunication.
1. Converting table to groupshape is the way to check the table is broken and nothing else. To delete columns you shouldn’t do it of course.
2. Well, I see. The table is broken and cell sizes can’t be recalculated after slide cloning. As a quick workaround I can offer clone slide at first and only after that delete column. Everything will work fine. The best way is delete this table and create new one from scratch.
Well I am not able to understand a couple of things, Do you mean to say that cloning causes the table to groupshapes?
Can you have a look at the ppt file attached to this message? In this case the table is intact (not grouped as shapes) but still you will see that the width of the table (even the column widths) in the second slide is less than that of the one on the first slide. But just try selecting the table object in the second slide and you will see that the object outline actually is wider than the table width and that will match the original table width (like the table on the first slide). Now try to do some edit on the table in the second slide and then you will find that table outline too shrinks in width to fit the table.
Let me know whether you are able to see the effect that I mentioned above. Also let me know why you think that this is happening.
As for your quick fix to clone the table and delete column, well I thought about that too but it will not be an easy fix to our application because of performance reasons.
I understand what you are saying but I would like to point out that the solution you propose is impossible for us.
Please understand that I created that program to show you the occurrence of the problem. The table in the Input.ppt is not directly from native PowerPoint. It has been manipulated by Aspose.
Let me try to outline the steps in our program.
Create ppt table in native PowerPoint.
Open the above ppt in Aspose and manipulate the table (deleting rows and changing contents in some columns mainly)
The table at this point I saved to the Input.ppt file and sent to you. (In our program we never create the Input.ppt file but just continue with step #4.
Delete one or more columns from this table.
Clone the slide.
Continue processing the table (adding/deleting rows, change border formats and changing contents in columns mainly)
Steps #5 and #6 could be repeated n times.
Hope you are able to understand our process now. Hence there is no way I can manipulate Input.ppt because we never create a ppt file at that stage.
Please let me know if you want any more clarifications since this is a critical issue for our product and we need it resolved ASAP.