using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Core;
using Microsoft.Office.Interop.PowerPoint;
using System.Windows.Forms;
using System.IO;
namespace Ppt2Png
{
class Program
{
[STAThread]
static void Main(string[] args)
{
int mPictureNum = 0;
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "PPT文件 |*.ppt;*.pptx";
ofd.Multiselect = false;
if (ofd.ShowDialog(null) == DialogResult.OK)
{
string sName = ofd.FileName;
string outPath = "";
if (args.Length >= 1)
{
if (args[0] != null && args[0] != "")
outPath = args[0];
}
else
{
outPath = "C:/Ppt2Png,0";
}
string[] bufArgs = outPath.Split(',');
ApplicationClass pptApplication = new ApplicationClass();
Presentation pptPresentation = pptApplication.Presentations.Open(sName, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
if (!Directory.Exists(bufArgs[0]))
{
Directory.CreateDirectory(bufArgs[0]);
}
Console.WriteLine("Create+" + pptPresentation.Slides.Count);
foreach (Slide pptSlide in pptPresentation.Slides)
{
pptSlide.Export(bufArgs[0] + "/" + (int.Parse(bufArgs[1]) + mPictureNum).ToString() + ".png", "PNG", 1280, 720);
Console.WriteLine("Idx+" + mPictureNum.ToString() + "+" + bufArgs[0] + "/" + (int.Parse(bufArgs[1]) + mPictureNum).ToString() + ".png");
mPictureNum++;
}
Console.WriteLine("Count+" + pptPresentation.Slides.Count);
pptPresentation.Close();
}
Console.WriteLine("End+End");
}
}
}