c#ppt转换为序列png

2023-08-24 13:48:23 浏览数 (2)

代码语言:javascript复制
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");
        }
    }
}

0 人点赞