コード例 #1
0
        public override void CreateFile(string filePath, DocumentModel data)
        {
            int          slideIndex      = 1; // created single slide file.
            Application  pptApp          = null;
            Presentation pptPresentation = null;
            Slides       slides          = null;
            _Slide       slide           = null;
            TextRange    objText         = null;
            CustomLayout customLayout    = null;

            try
            {
                pptApp          = new Application();
                pptPresentation = pptApp.Presentations.Add();

                // create new Slide
                slides       = pptPresentation.Slides;
                customLayout = pptPresentation.SlideMaster.CustomLayouts[PpSlideLayout.ppLayoutText];
                slide        = slides.AddSlide(slideIndex, customLayout);

                // write title
                objText           = slide.Shapes[1].TextFrame.TextRange;
                objText.Text      = data.Title;
                objText.Font.Name = "Arial";
                objText.Font.Size = 32;

                // write description
                objText      = slide.Shapes[2].TextFrame.TextRange;
                objText.Text = data.Description;

                pptPresentation.SaveAs(filePath);
                pptPresentation.Close();
                pptApp.Quit();
            }
            finally
            {
                ReleaseFileObject(pptPresentation);
                ReleaseFileObject(pptApp);
            }
        }
コード例 #2
0
        public void RenderStillsToPowerpoint(string filename, List <string> stills)
        {
            Microsoft.Office.Interop.PowerPoint.Application _powerpoint = new Microsoft.Office.Interop.PowerPoint.Application();

            Presentation presentation = _powerpoint.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoTrue);

            Slides slides   = presentation.Slides;
            int    slidenum = 1;

            stills = stills.OrderBy(s => int.Parse(System.IO.Path.GetFileNameWithoutExtension(s).Split('_')[1])).ToList();
            foreach (var still in stills)
            {
                _Slide slide = slides.Add(slidenum++, PpSlideLayout.ppLayoutBlank);
                // add image
                slide.Shapes.AddPicture(still, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, 0, 0);
            }

            presentation.SaveAs(filename, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsDefault, Microsoft.Office.Core.MsoTriState.msoTrue);

            presentation.Close();
            _powerpoint.Quit();
        }
コード例 #3
0
ファイル: CDocManager.cs プロジェクト: cocoknight/URUTA
        //TOAN : 06/08/2019. Code Enhancement
        public void addPage(int num)
        {
            //TOAN : 06/08/2019. Add-Page을 실행할 때, 아래 2줄은 꼭 쌍으로 참조가 되어야 한다.
            _slides = _pptPresentation.Slides;
            _slide  = _slides.AddSlide(/*1*/ num, _customLayout);

            _objText      = _slide.Shapes[1].TextFrame.TextRange;
            _objText.Text = "제목입니당";
            _objText      = _slide.Shapes[2].TextFrame.TextRange;
            //_objText.Text = "1번째줄\n2번째줄\n3번째줄";

            int ioop = 0;

            for (ioop = 0; ioop < 10; ioop++)
            {
                _objText.Text += ioop.ToString();
                _objText.Text += "\n";
                Thread.Sleep(2000);
            }

            _slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = "여기는 슬라이드 설명쓰는곳입니당.";
        }
コード例 #4
0
ファイル: CDocManager.cs プロジェクト: cocoknight/URUTA
        public void addPageWithTime()
        {
            int i = 1;

            _slides = _pptPresentation.Slides;
            do
            {
                if (_exit_flag == true)
                {
                    break;
                }

                _slide = _slides.AddSlide(i, _customLayout);
                // 타이틀 추가
                _objText      = _slide.Shapes[1].TextFrame.TextRange;
                _objText.Text = "제목입니당";
                //TOAN : 01/28/2019. FontName에서 Exception이 발생하는듯 하다.
                //_objText.Font.Name = "Gulim";
                //_objText.Font.Size = 32;
                _objText.Font.Size = 20;
                _objText           = _slide.Shapes[2].TextFrame.TextRange;
                //_objText.Text = "1번째줄\n2번째줄\n3번째줄";
                int ioop = 0;
                //int ioop = 48;
                for (ioop = 0; ioop < 10; ioop++)
                {
                    _objText.Text += ioop.ToString();
                    _objText.Text += "\n";
                    //아래 코드를 사용하면 루프중에 프로그램이 종료되버린다.
                    Delay(1000);
                }

                //TOAN : 01/28/2019. Temporary Blocking
                _slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = "여기는 슬라이드 설명쓰는곳입니당.";

                i = i + 1;
            } while (_exit_flag == false);
        }
コード例 #5
0
        public void AddOneLesionSlice(LesionEntity lesionEntity)
        {
            ++lesionNumber;
            //添加Axial方向的截图到PPT
            _Slide lesionAxialSlide = powerPointDAO.AddNewSlide();

            powerPointDAO.AddText("病灶 " + lesionNumber.ToString(), lesionAxialSlide, 30, 30, 300, 40);
            powerPointDAO.AddText("轴状位", lesionAxialSlide, 530, 30, 300, 40);
            if (!string.IsNullOrEmpty(lesionEntity.AxialCTImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.AxialCTImageFile, lesionAxialSlide, 30, 80, lesionSize, lesionSize);
            }
            if (!string.IsNullOrEmpty(lesionEntity.AxialCTDetailImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.AxialCTDetailImageFile, lesionAxialSlide, 260, 80, lesionSize, lesionSize);
            }

            if (!string.IsNullOrEmpty(lesionEntity.Axial3DImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.Axial3DImageFile, lesionAxialSlide, 490, 80, lesionSize, lesionSize);
            }


            //添加Sagital方向的截图到PPT
            _Slide lesionSagitalSlide = powerPointDAO.AddNewSlide();

            powerPointDAO.AddText("矢状位", lesionSagitalSlide, 530, 30, 300, 40);
            if (!string.IsNullOrEmpty(lesionEntity.SagitalCTImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.SagitalCTImageFile, lesionSagitalSlide, 30, 80, lesionSize, lesionSize);
            }
            if (!string.IsNullOrEmpty(lesionEntity.SagitalCTDetailImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.SagitalCTDetailImageFile, lesionSagitalSlide, 260, 80, lesionSize, lesionSize);
            }

            if (!string.IsNullOrEmpty(lesionEntity.Sagital3DImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.Sagital3DImageFile, lesionSagitalSlide, 490, 80, lesionSize, lesionSize);
            }



            //添加Coronal方向的截图到PPT
            _Slide lesionCoronalSlide = powerPointDAO.AddNewSlide();

            powerPointDAO.AddText("冠状位", lesionCoronalSlide, 530, 30, 300, 40);
            if (!string.IsNullOrEmpty(lesionEntity.CoronalCTImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.CoronalCTImageFile, lesionCoronalSlide, 30, 80, lesionSize, lesionSize);
            }
            if (!string.IsNullOrEmpty(lesionEntity.CoronalCTDetailImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.CoronalCTDetailImageFile, lesionCoronalSlide, 260, 80, lesionSize, lesionSize);
            }

            if (!string.IsNullOrEmpty(lesionEntity.Coronal3DImageFile))
            {
                powerPointDAO.AddImage(lesionEntity.Coronal3DImageFile, lesionCoronalSlide, 490, 80, lesionSize, lesionSize);
            }
        }
コード例 #6
0
ファイル: Form1.cs プロジェクト: crhodes2/PowerPix
        private void create_Click(object sender, EventArgs e)
        {
            foreach (System.Windows.Forms.Control c in this.Controls)
            {
                if ((c is System.Windows.Forms.CheckBox))
                {
                    if (((System.Windows.Forms.CheckBox)c).Checked)
                    {
                        pptPics[int.Parse(c.Name[8].ToString()) - 1] = generatedFilenameArray[int.Parse(c.Name[8].ToString()) - 1];
                    }
                    else
                    {
                        pptPics[int.Parse(c.Name[8].ToString()) - 1] = "";
                    }
                }
            }

            Microsoft.Office.Interop.PowerPoint.Application pptApplication = new Microsoft.Office.Interop.PowerPoint.Application();
            Presentation pptPresentation = pptApplication.Presentations.Add(MsoTriState.msoTrue);

            CustomLayout custLayout = pptPresentation.SlideMaster.CustomLayouts[PpSlideLayout.ppLayoutText];

            var    slides = pptPresentation.Slides;
            _Slide slide  = slides.AddSlide(1, custLayout);

            //Create Title
            var objText = slide.Shapes[1].TextFrame.TextRange;

            objText.Text           = searchBar.Text;
            objText.Font.Size      = 32;
            slide.Shapes[1].Height = 60;

            //Create Description
            var objText2 = slide.Shapes[2].TextFrame.TextRange;

            objText2.Text         = descriptionBox.Text;
            objText2.Font.Size    = 16;
            slide.Shapes[2].Width = 310;
            slide.Shapes[2].Top   = 115;

            //Add Images to the Slides
            int height             = 200;
            int width              = 155;
            int verticalPosition   = 115;
            int horizontalPosition = 370;
            int position           = 1;

            for (int i = 0; i < pptPics.Length; i++)
            {
                if (pptPics[i] == "")
                {
                    continue;
                }

                verticalPosition   = (position == 1 || position == 2) ? 115 : 315;
                horizontalPosition = (position == 1 || position == 3) ? 370 : 525;


                slide.Shapes.AddPicture(
                    pptPics[i],
                    MsoTriState.msoFalse,
                    MsoTriState.msoTrue,
                    horizontalPosition,
                    verticalPosition,
                    width,
                    height);

                verticalPosition += height + 5;
                position++;
            }

            FolderAccess();

            int    slideNumber = 1;
            string filePath    = @"C:\PPT\newslide1.pptx";

            while (File.Exists(filePath))
            {
                slideNumber += 1;
                filePath     = @"C:\PPT\newslide" +
                               slideNumber.ToString() +
                               ".pptx";
            }
            pptPresentation.SaveAs(
                filePath,
                PpSaveAsFileType.ppSaveAsDefault,
                MsoTriState.msoTrue);
        }
コード例 #7
0
 private static void addPictures(_Slide slide)
 {
     slide.Shapes.AddPicture(@"C:\Users\lucaslemos\Desktop\IMG_example.jpg", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue,
                             200, 200, 30, 40); //the first paramether is the local address, the socnd and third I recommend to set up like this
                                                //and the you have Left, Top, Widht and Height
 }