我们做什么:
我们为Powerpoint 2010和Powerpoint 2003创建powerpoint文档。
问题出在哪里:
使用以下源代码创建的Lables在Powerpoint 2010和Powerpoint 2003中显示不同。此错误仅发生在带有alignment = center的标签和/或如果我们设置旋转> 0.(见截图)
private Microsoft.Office.Interop.PowerPoint.Shape AddLabel(Microsoft.Office.Interop.PowerPoint.Slide Slide,
float Left, float Top, float Width, float Height, string Text, float FontSize,
bool Bold, Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment Alignment)
{
Microsoft.Office.Interop.PowerPoint.Shape label;
label = Slide.Shapes.AddLabel(
Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal,
Left, Top, Width, Height);
label.TextFrame.TextRange.Text = Text;
label.TextFrame.TextRange.Font.Size = FontSize;
label.TextFrame.TextRange.Font.Bold = Bold ? MsoTriState.msoTrue : MsoTriState.msoFalse;
label.TextFrame.TextRange.ParagraphFormat.Alignment = Alignment;
return label;
}
[...]
label = AddLabel(slide, 50, (slide.Master.Height - 30) / 2, slide.Master.Height, 30,
"Nutzen", 18, false, PpParagraphAlignment.ppAlignCenter);
label.Rotation = -90;
有没有人知道,是否有一种简单的方法可以使源兼容两个Powerpoint版本?