c#怎么实现打开ppt文档,并显示在richbox上,求思路或代码。 ps:非直接用process
c#怎么实现打开ppt文档,并显示在richbox上,求思路或代码。ps:非直接用process打开。...
c#怎么实现打开ppt文档,并显示在richbox上,求思路或代码。
ps:非直接用process 打开。 展开
ps:非直接用process 打开。 展开
1个回答
展开全部
添加Microsoft.Office.Interop.PowerPoint引用
private void readPPT(string file)
{
Microsoft.Office.Interop.PowerPoint.Application pa = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();
Microsoft.Office.Interop.PowerPoint.Presentation pp = pa.Presentations.Open(file,Microsoft.Office.Core.MsoTriState.msoTrue,Microsoft.Office.Core.MsoTriState.msoFalse,Microsoft.Office.Core.MsoTriState.msoFalse);
//开始读取每一页
foreach (Microsoft.Office.Interop.PowerPoint.Slide slide in pp.Slides)
{
//开始读取每一个数据块
foreach (Microsoft.Office.Interop.PowerPoint.Shape shape in slide.Shapes)
{
if(shape.TextFrame.TextRange)//如果是文字,文字处理
{
string text = shape.TextFrame.TextRange.Text.Trim();
//将text放到你的richbox上去...
}
else//是图片,图片处理
{
shape.Copy();
Image img = (Image)Clipboard.GetData(DataFormats.Bitmap);
...//比如图片存盘 img.Save(filepath);
}
}
}
}
private void readPPT(string file)
{
Microsoft.Office.Interop.PowerPoint.Application pa = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();
Microsoft.Office.Interop.PowerPoint.Presentation pp = pa.Presentations.Open(file,Microsoft.Office.Core.MsoTriState.msoTrue,Microsoft.Office.Core.MsoTriState.msoFalse,Microsoft.Office.Core.MsoTriState.msoFalse);
//开始读取每一页
foreach (Microsoft.Office.Interop.PowerPoint.Slide slide in pp.Slides)
{
//开始读取每一个数据块
foreach (Microsoft.Office.Interop.PowerPoint.Shape shape in slide.Shapes)
{
if(shape.TextFrame.TextRange)//如果是文字,文字处理
{
string text = shape.TextFrame.TextRange.Text.Trim();
//将text放到你的richbox上去...
}
else//是图片,图片处理
{
shape.Copy();
Image img = (Image)Clipboard.GetData(DataFormats.Bitmap);
...//比如图片存盘 img.Save(filepath);
}
}
}
}
更多追问追答
追问
你好,图片处理代码有些问题,能帮忙再看下吗
追答
你还要将图像放到richbox吗?richbox能不能放图像呢。我以为你只处理文字,没有对图像仔细处理。这要增加一些工作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询