We work on software for translators.
Let say we have pptx file with SmartArt frames and with only one slide
When the document is translated we insert translation according to placeholders in \ppt\diagrams\data.xml
for some reason in pptx this textual information is duplicated in drawing
\ppt\diagrams\drawing.xml but we have to keep information in drawings as is.
After we save file we can open it in Power Point and it does show translations
With Slides we open this pptx file and exporting slide by slide to bmp format .
exported pictures shows text from drawing.xml ( not translated)
I wrote a few lines to iterate through Smart Art shapes
foreach (Shape shape in mPresentation.Slides[0].Shapes)
{
if (shape is SmartArt)
{
obj = (SmartArt)shape;
foreach (SmartArtNode node in obj.AllNodes)
{
ITextFrame f = node.TextFrame;
string text = f.Text;
}
}
}
f.Text holds translated text ( from data.xml) which is right
Any suggestion ?