以下操作都要用到【Microsoft.Office.Interop.PowerPoint】,确保安装并引用。
1、打开PPT文件
// 打开PPT
Microsoft.Office.Interop.PowerPoint.Application pptApp = new Microsoft.Office.Interop.PowerPoint.Application();
Presentation ppt = pptApp.Presentations.Open(pptPath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
2、添加幻灯片
// 要添加的幻灯片的页码
int index = 4;
//添加幻灯片
Slide slide2 = ppt.Slides.Add(index, PpSlideLayout.ppLayoutBlank);
3、获取指定的幻灯片
// index为页码,从1开始,和PPT上显示的页码一致
Slide initSlide = ppt.Slides[index];
4、获取所有要素Shape
// 遍历所有幻灯片
foreach (Slide slide in ppt.Slides)
{
// 遍历所有元素
foreach (Shape shape in slide.Shapes)
{
// TODO
}
}
5、获取所有文字
// 获取文字
List stringList = new List();
// 遍历所有幻灯片
foreach (Slide slide in ppt.Slides)
{
// 遍历所有元素
foreach (Shape shape in slide.Shapes)
{
if (shape.HasTextFrame == MsoTriState.msoTrue && shape.TextFrame.HasText == MsoTriState.msoTrue)
{
// 获取文字
stringList.Add(shape.TextFrame.TextRange.Text.ToString());
}
}
}
6、获取所有图片,并保存
foreach (Shape shape in initSlide.Shapes)
{
if (shape.Type == MsoShapeType.msoPicture)
{
// 复制到剪贴板
shape.C服务器托管网opy();
// 获取图片数据
Image img = (Image)System.Windows.Forms.Clipboard.GetData(System.Windows.Forms.DataFormats.Bitmap);
// 保存图片
img.Save(@"C:UsersAdministratorDesktopnew.png");
}
}
7、插入一个文本框
//添加Shape
float x = 100;
float y = 100;
float width = 500;
float height = 300;
string text = "这是一个新插入的文本!!!!!!!!!";
Shape shape = slide.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle, x, y, width, height);
//保存
ppt.Save();
8、Shape属性设置
//控制填充色为透明
shape.Fill.Transparency = 1;
//控制边框颜色为黑色
shape.Line.ForeColor.RGB = System.Drawing.ColorTranslator.ToWin32(System.Dra服务器托管网wing.Color.FromArgb(0, 0, 0));
//文字加粗
shape.TextFrame.TextRange.Font.Bold = MsoTriState.msoTrue;
//字体为黑色
shape.TextFrame.TextRange.Font.Color.RGB = System.Drawing.ColorTranslator.ToWin32(System.Drawing.Color.FromArgb(0, 0, 0));
//字体
shape.TextFrame.TextRange.Font.NameFarEast = "微软雅黑";
//水平对齐
shape.TextFrame.TextRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment.ppAlignLeft;
//插入的文本
shape.TextFrame.TextRange.Text = text;
//字体大小
shape.TextFrame.TextRange.Font.Size=40;
//字体居中
shape.TextFrame.TextRange.ParagraphFormat.Alignment = PpParagraphAligrument.ppAlignCenter;
//文本框内容垂直居中
shape.TextFrame.VerticalAnchor = MsoVerticalAnchor.msoAnchorMiddle;
9、插入一个图片
// 获取当前工程中的所有Layouts
IEnumerable layouts = Project.Current.GetItems();
// 按名称获取
LayoutProjectItem layoutItem = Project.Current.GetItems().FirstOrDefault(item => item.Name.Equals("MyLayout"));
10、保存、另存为
// 获取当前工程中的所有Layouts
IEnumerable layouts = Project.Current.GetItems();
// 按名称获取
LayoutProjectItem layoutItem = Project.Current.GetItems().FirstOrDefault(item => item.Name.Equals("MyLayout"));
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 21.1 Python 使用PEfile分析PE文件
PeFile模块是Python中一个强大的便携式第三方PE格式分析工具,用于解析和处理Windows可执行文件。该模块提供了一系列的API接口,使得用户可以通过Python脚本来读取和分析PE文件的结构,包括文件头、节表、导入表、导出表、资源表、重定位表等等。…