Esempio n. 1
0
 public static void divideToLines(Slides slides, Slide slide, TextRange textRange)
 {
     var slideNumber = slide.SlideIndex;
     float slideDuration = slide.SlideShowTransition.AdvanceTime;
     int divisionNumber = textRange.Lines().Count;
     float duration = durationAfterDivisions(slideDuration, divisionNumber / 2);
     string textFrmLines = "";
     foreach (TextRange line in textRange.Lines())
     {
         if (textFrmLines.Length > 0)
         {
             textFrmLines += line.Text;
             SlidesManipulation.createNewSlide(slides, ++slideNumber, textFrmLines.Trim(), duration);
             SlidesManipulation.createNewSlide(slides, ++slideNumber, "", 0.01F);
             textFrmLines = "";
         }
         else
         {
             textFrmLines += line.Text;
         }
     }
     //add the rest of textFrmLines
     if (textFrmLines.Length > 0)
     {
         SlidesManipulation.createNewSlide(slides, ++slideNumber, textFrmLines, duration);
         SlidesManipulation.createNewSlide(slides, ++slideNumber, "", 0.1F);
     }
         //delete slides
         slide.Delete();
         slides[slideNumber].Delete();
 }
Esempio n. 2
0
        /// <summary>
        /// This constructor is only for SLide Background
        /// </summary>
        /// <param name="slide"></param>
        public ezImage(Slide slide)
        {
            slide.Duplicate();
            Slide tempSlide = slide.Parent.Slides[slide.SlideIndex + 1];

            while (tempSlide.Shapes.Count > 0)
            {
                tempSlide.Shapes[1].Delete();
            }


            //Export the image of the shape
            int slideWidth  = (int)Utility.SlideWidthGet(slide.Parent);
            int slideHeight = (int)Utility.SlideHeightGet(slide.Parent);

            string shapeExportDirectory = PowerPointStudioRibbon.currentPPTPath + "\\images";

            if (!Directory.Exists(shapeExportDirectory))
            {
                Directory.CreateDirectory(shapeExportDirectory);
            }

            string exportedUrl = shapeExportDirectory + "\\" + Utility.RandomNumber(1000, 10000, ezShape.shapeCount) + ".png";

            tempSlide.Export(exportedUrl, "PNG", slideWidth * 4, slideHeight * 4);

            actualUrl    = exportedUrl;
            exportedUrl  = exportedUrl.Replace("\\", "/");
            imgurlLarge  = exportedUrl.Replace(PowerPointStudioRibbon.currentPPTPath.Replace("\\", "/"), "https://ezilmdev.org");
            imgurlMedium = exportedUrl.Replace(PowerPointStudioRibbon.currentPPTPath.Replace("\\", "/"), "https://ezilmdev.org");
            imgurlSmall  = exportedUrl.Replace(PowerPointStudioRibbon.currentPPTPath.Replace("\\", "/"), "https://ezilmdev.org");

            tempSlide.Delete();
        }
Esempio n. 3
0
        public static void divideToLines(Slides slides, Slide slide, TextRange textRange)
        {
            var    slideNumber    = slide.SlideIndex;
            float  slideDuration  = slide.SlideShowTransition.AdvanceTime;
            int    divisionNumber = textRange.Lines().Count;
            float  duration       = durationAfterDivisions(slideDuration, divisionNumber / 2);
            string textFrmLines   = "";

            foreach (TextRange line in textRange.Lines())
            {
                if (textFrmLines.Length > 0)
                {
                    textFrmLines += line.Text;
                    SlidesManipulation.createNewSlide(slides, ++slideNumber, textFrmLines.Trim(), duration);
                    SlidesManipulation.createNewSlide(slides, ++slideNumber, "", 0.01F);
                    textFrmLines = "";
                }
                else
                {
                    textFrmLines += line.Text;
                }
            }
            //add the rest of textFrmLines
            if (textFrmLines.Length > 0)
            {
                SlidesManipulation.createNewSlide(slides, ++slideNumber, textFrmLines, duration);
                SlidesManipulation.createNewSlide(slides, ++slideNumber, "", 0.1F);
            }
            //delete slides
            slide.Delete();
            slides[slideNumber].Delete();
        }
        private void ClearSlides()
        {
            Slides slides = presentation.Slides;

            do
            {
                Slide slide = slides[1];
                slide.Delete();
            } while (slides.Count != 0);
        }
        public static PowerPointBgEffectSlide BgEffectFactory(Slide refSlide, bool coverShape = true)
        {
            if (refSlide == null)
            {
                return null;
            }

            // here we cut-paste the shape to get a reference of those shapes
            var oriShapeRange = refSlide.Shapes.Paste();

            // preprocess the shapes, eliminate animations for shapes
            foreach (Shape shape in oriShapeRange)
            {
                FromSlideFactory(refSlide).RemoveAnimationsForShape(shape);
            }

            // TODO: make use of PowerPointLabs.Presentation Model!!!
            // cut the original shape cover again and duplicate the slide
            // here the slide will be duplicated without the original shape cover
            oriShapeRange.Cut();
            var newSlide = FromSlideFactory(refSlide.Duplicate()[1]);
            
            // get a copy of original cover shapes
            var copyShapeRange = newSlide.Shapes.Paste();
            // paste the original shape cover back
            oriShapeRange = refSlide.Shapes.Paste();
            
            // make the range invisible before animated the slide
            copyShapeRange.Visible = Core.MsoTriState.msoFalse;

            MakeAnimatedBackground(newSlide);

            copyShapeRange.Visible = Core.MsoTriState.msoCTrue;
            oriShapeRange.Visible = Core.MsoTriState.msoCTrue;

            newSlide.Transition.EntryEffect = PpEntryEffect.ppEffectFadeSmoothly;
            newSlide.Transition.Duration = 0.5f;

            var bgEffectSlide = new PowerPointBgEffectSlide(newSlide.GetNativeSlide());

            try
            {
                if (coverShape)
                {
                    bgEffectSlide = PrepareForeground(oriShapeRange, copyShapeRange, refSlide, newSlide);
                }
            }
            catch (InvalidOperationException e)
            {
                refSlide.Delete();
                throw new InvalidOperationException(e.Message);
            }

            return bgEffectSlide;
        }
Esempio n. 6
0
 public static void divideToSentences(Slides slides, Slide slide, TextRange textRange)
 {
     var slideNumber = slide.SlideIndex;
     float slideDuration = slide.SlideShowTransition.AdvanceTime;
     //the number represents to how many slides to divide
     int divisionNumber = textRange.Sentences().Count;
     float duration = durationAfterDivisions(slideDuration, divisionNumber);
     foreach (TextRange sentence in textRange.Sentences())
     {
         SlidesManipulation.createNewSlide(slides, ++slideNumber, sentence.Text.Trim(), duration);
         SlidesManipulation.createNewSlide(slides, ++slideNumber, "", 0.01F);
     }
     //delete slides
     slide.Delete();
     slides[slideNumber].Delete();
 }
Esempio n. 7
0
        public static void divideToSentences(Slides slides, Slide slide, TextRange textRange)
        {
            var   slideNumber   = slide.SlideIndex;
            float slideDuration = slide.SlideShowTransition.AdvanceTime;
            //the number represents to how many slides to divide
            int   divisionNumber = textRange.Sentences().Count;
            float duration       = durationAfterDivisions(slideDuration, divisionNumber);

            foreach (TextRange sentence in textRange.Sentences())
            {
                SlidesManipulation.createNewSlide(slides, ++slideNumber, sentence.Text.Trim(), duration);
                SlidesManipulation.createNewSlide(slides, ++slideNumber, "", 0.01F);
            }
            //delete slides
            slide.Delete();
            slides[slideNumber].Delete();
        }
Esempio n. 8
0
 private void Deleted(int ImageID)
 {
     Libs.Data objdata = new Data(Global.ConnectionSql);
     try
     {
         Slide obj = new Slide();
         obj.DataObject = objdata;
         bool ok = obj.Delete(ImageID);
         this.BindingData();
     }
     catch (Exception ex)
     {
         Global.WriteLogError("Deleted() " + ex);
     }
     finally
     {
         objdata.DeConnect();
     }
 }
Esempio n. 9
0
 public void Delete()
 {
     _slide.Delete();
 }