【文件属性】:
文件名称:PPT转图片程序
文件大小:161KB
文件格式:ZIP
更新时间:2021-10-15 12:21:44
PPT
namespace PPT2Img
{
class Program
{
[STAThread]
static void Main(string[] args)
{
TaskTimerRecorder taskTimerRecorder = new TaskTimerRecorder();
//确认需要执行的操作
//getinfo:获取总页数
//convert:将指定起始页码转换到指定文件夹
string strActionMode = "getinfo";
//拿到输入文件名
string strPPTFileName = "PPT路径";
//拿到输出图片路径
string strOutputFilePath = "图片输出路径";
//拿到输出图片的名词前缀(后缀就是从0计数的页码)
string strPrefix = "输出图片前缀";
//需要抠掉的颜色
uint nColor = 0xffffffff;
//需要输出的起始页码
int nBeginPage = 0;
//需要输出的结束页码(-1为全部输出)
int nEndPage = -1;
//宽高
int nWidth = 1920;
int nHeight = 1080;
if (args.Length > 0)
{
strActionMode = args[0];
if (args.Length > 1)
{
strPPTFileName = args[1];
}
if (args.Length > 2)
{
strOutputFilePath = args[2];
if (strActionMode == "getinfo")
{
Console.WriteLine("工作模式是:" + strActionMode);
Console.WriteLine("PPT路径是:" + strPPTFileName);
Console.WriteLine("结果输出路径是:" + strOutputFilePath);
Console.WriteLine("开始执行");
ESBasic.Office.OfficeScanner scaner = new ESBasic.Office.OfficeScanner();
int nPage = scaner.GetInfo(strPPTFileName);
FileStream fs = File.Create(strOutputFilePath + "pagecount.txt");
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(nPage.ToString());
sw.Close();
fs.Close();
Console.WriteLine("执行结束");
return;
}
else if (strActionMode == "convert")
{
if (args.Length > 3)
{
strPrefix = args[3];
if (args.Length > 4)
{
string strColor = args[4];
nColor = uint.Parse(strColor, System.Globalization.NumberStyles.HexNumber);
if (args.Length > 5)
{
string strBeginPage = args[5];
nBeginPage = int.Parse(strBeginPage);
if (args.Length > 6)
{
string strEndPage = args[6];
nEndPage = int.Parse(strEndPage);
if (args.Length > 7)
{
string strWidth = args[7];
nWidth = int.Parse(strWidth);
if (args.Length > 8)
{
string strHeight = args[8];
nHeight = int.Parse(strHeight);
//Console.WriteLine("1:工作模式是:" + strActionMode);
//Console.WriteLine("2:PPT路径是:" + strPPTFileName);
//Console.WriteLine("3:图片输出路径是:" + strOutputFilePath);
//Console.WriteLine("4:图片输出前缀是:" + strPrefix);
//Console.WriteLine("5:需要抠掉的颜色是:" + nColor.ToString());
//Console.WriteLine("6:输出起始页码是:" + nBeginPage.ToString());
//Console.WriteLine("7:输出结束页码是:" + nEndPage.ToString());
//Console.WriteLine("8:输出宽度是" + nWidth.ToString());
//Console.WriteLine("9:输出高度是" + nHeight.ToString());
//Console.WriteLine("1:" + strActionMode);
//Console.WriteLine("2:" + strPPTFileName);
//Console.WriteLine("3:" + strOutputFilePath);
//Console.WriteLine("4:" + strPrefix);
//Console.WriteLine("5:" + nColor.ToString());
//Console.WriteLine("6:" + nBeginPage.ToString());
//Console.WriteLine("7:" + nEndPage.ToString());
//Console.WriteLine("8:" + nWidth.ToString());
//Console.WriteLine("9:" + nHeight.ToString());
ESBasic.Office.OfficeScanner scaner = new ESBasic.Office.OfficeScanner();
int nPage = scaner.Convert(strPPTFileName, strOutputFilePath, strPrefix, nColor, nBeginPage, nEndPage, nWidth, nHeight);
FileStream fs = File.Create(strOutputFilePath + "pagecount.txt");
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(nPage.ToString());
sw.Close();
fs.Close();
return;
}
}
}
}
}
}
Console.WriteLine("1:" + strActionMode);
Console.WriteLine("2:" + strPPTFileName);
Console.WriteLine("3:" + strOutputFilePath);
Console.WriteLine("4:" + strPrefix);
Console.WriteLine("5:" + nColor.ToString());
Console.WriteLine("6:" + nBeginPage.ToString());
Console.WriteLine("7:" + nEndPage.ToString());
Console.WriteLine("8:" + nEndPage.ToString());
Console.WriteLine("9:" + nEndPage.ToString());
Console.WriteLine("10");
}
}
}
else
{
#if false
//无参数模式,给一些参数,调试使用
strActionMode = "convert";
strPPTFileName = "C:\\Users\\dujiangtao\\Desktop\\测试2.pptx";
strOutputFilePath = "E:\\output\\";
strPrefix = "ppt";
nColor = 0x000000ff;
nWidth = 1920;
nHeight = 1080;
nColor = uint.Parse("000000ff", System.Globalization.NumberStyles.HexNumber);
nBeginPage = 0;
nEndPage = -1;
ESBasic.Office.OfficeScanner scaner = new ESBasic.Office.OfficeScanner();
int nPage = scaner.Convert(strPPTFileName, strOutputFilePath, strPrefix, nColor, nBeginPage, nEndPage, nWidth, nHeight);
FileStream fs = File.Create(strOutputFilePath + "pagecount.txt");
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(nPage.ToString());
sw.Close();
fs.Close();
taskTimerRecorder.Stop();
Console.ReadLine();
#endif
}
}
}
}
【文件预览】:
PPT2Img.sln
PPT2Img
----PPT2Img.csproj(3KB)
----Program.cs(23KB)
----test.ppt(420KB)
----App.config(189B)
----Properties()
--------AssemblyInfo.cs(1KB)