c# 如何将ppt中的每一页保存为一张张的图片?

mike081 2011-01-20 03:55:13
c# 如何将ppt中的每一页保存为一张张的图片?
...全文
1856 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningyb 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wdywqc 的回复:]
C# code

/// <summary>
/// 转换文件类型并 返回文件名称的 数组
/// </summary>
/// <param name="InputStrs">输入路径</param>
/// <param name="Output">输出路径名称</param>
/// <param ……
[/Quote]

请问下CONVERTAGENTLib.ConverAgent
这个是什么?
wdywqc 2011-01-20
  • 打赏
  • 举报
回复

/// <summary>
/// 转换文件类型并 返回文件名称的 数组
/// </summary>
/// <param name="InputStrs">输入路径</param>
/// <param name="Output">输出路径名称</param>
/// <param name="OutputFileName">输出路径文件名(不加后缀)</param>
/// <returns>返回文件名称</returns>
public string[] ConvertToJPG(string InputStrs, string Output, string OutputFileName)
{
List<string> FileNameList = new List<string>();

CONVERTAGENTLib.ConverAgent ConvertEngine = null;

if (ConvertEngine == null)
{
ConvertEngine = new ConverAgent();
ConvertEngine.InitAgent("SmartPrinter", 60, "demo", "demo");
}

int iRet = 0;
int iTestTimes = 1;

string RandomFileName = Path.GetRandomFileName(); //随机生成一个文件夹
Directory.CreateDirectory(Output + RandomFileName); //在输出目录下 创建一个临时目录

if (ConvertEngine != null)
{
for (int i = 0; i < iTestTimes && iRet == 0; i++)
{
iRet = ConvertEngine.ConvertDoc(InputStrs, Output + RandomFileName + "\\" + OutputFileName + ".jpg"); //在临时目录里生成图片
}

if (iRet == 0)
{
try
{
string[] NewFileNames2 = Directory.GetFiles(Output + RandomFileName); //读取临时目录里的文件

for (int i = 0; i < NewFileNames2.Length; i++)
{
if (!NewFileNames2[i].Contains("(") && !NewFileNames2[i].Contains(")"))
{
//修改文件名称,如果没有(1),则替换
File.Move(NewFileNames2[i], Output + RandomFileName + "\\" + OutputFileName + "(1).jpg");
}
}

string[] NewFileNames = new string[NewFileNames2.Length]; //生成文件的文件名称的数组

for (int i = 0; i < NewFileNames2.Length; i++) //循环遍历得到文件名称
{
NewFileNames[i] = OutputFileName + "(" + (i + 1) + ")";
}

FileNameList.AddRange(NewFileNames); //把数组填充到list
//FileNameList.Sort(); //排序

for (int i = 0; i < FileNameList.Count; i++) //循环把随即生成的文件夹里的文件移到输出目录中
{
File.Move(Output + RandomFileName + "\\" + NewFileNames[i] + ".jpg",
Output + NewFileNames[i] + ".jpg");
}
Directory.Delete(Output + RandomFileName); //删除临时文件夹
}
catch (Exception e)
{
throw e; //抛出异常
}
}
else
{
throw new Exception("转化失败");
}
}
return FileNameList.ToArray();
}

wdywqc 2011-01-20
  • 打赏
  • 举报
回复
我保存过word。ppt应该差不多把
mike081 2011-01-20
  • 打赏
  • 举报
回复
pptPresentation.Slides.Item(1).Export("slide.jpg", "jpg", 320, 240); 中的320和240是怎样获取的。。
龍过鸡年 2011-01-20
  • 打赏
  • 举报
回复
http://stackoverflow.com/questions/2972263/ppt-slides-to-images
mike081 2011-01-20
  • 打赏
  • 举报
回复
如果ppt有20页,就保存成20张jpg
叶子 2011-01-20
  • 打赏
  • 举报
回复

using Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;
string str1 = @"C:\WebSite7\Presentation1.jpg";

string str= @"C:\WebSite7\Presentation1.ppt";

ApplicationClass pptApplication = new ApplicationClass();

Presentation pptPresentation = pptApplication.Presentations.Open(str, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
pptPresentation.Slides.Item[1].Export(str1, "jpg", 320, 240);

信息来源:http://www.vbdotnetheaven.com/Forums/ShowMessages.aspx?ThreadID=69002
叶子 2011-01-20
  • 打赏
  • 举报
回复
这个还真没有处理过

你可以参考下这个:
http://zhidao.baidu.com/question/11075104.html

111,088

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧