Animated Static PDF Conversion Slides

For all of you people who make ppt slides with animations, for example:

  • Display marker items one by one
  • Display images one at a time or scale the plot
  • Display border on active element
  • Internal navigation / menu / link to another slide
  • Transitions between slides

Is there a tool that can convert ppt to PDF and save each animation, for example, on a separate slide?

I know that you can create animated slides using LaTeX Beamer , which convert perfectly to PDF. I made some of them, but I also have some ppt files that I want to convert to PDF.

This is what I have tried so far:

  • Slideshare , however, it not only does not support animation, but internal navigation does not work, and all fonts are confused.
  • PDFcreator , the quality is pretty high compared to it, but it also does not support animation. Like Slideshare, it simply places one image on top of another. In addition, it does not support transparency (for example, a text box with a translucent caption above the image)
  • LaTeX Beamer has already been mentioned, but I would prefer not to enter ppts content and animations in LaTeX just so that the animation displays correctly in PDF.

I searched SO and did not find a satisfactory answer for working with animation. What are you using?

+10
source share
4 answers

I found a small plugin that shares your PowerPoint slides when they have animation. Thus, if you have 3 animations on 1 slide, it will generate 3 slides with each animation step by step. Then export it to PDF :-)

This worked for me in PowerPoint 2010. I would recommend that you back up the presentation file before splitting it. And don't forget to uncheck the "Share click-through animations."

http://www.dia.uniroma3.it/~rimondin/downloads.php

I found this too (but the first solution was free and worked like this :-)) http://www.verypdf.com/wordpress/201306/how-to-create-a-pdf-from-powerpoint-with-animations-36850 .html

+17
source

This blog post contains a VBA macro macro that breaks each slide with animation (for example, images or marker points that appear on one) into several slides, and then you can save it as a PDF and voila!

The important thing is that the VBA script should work for both Windows and Mac . I just tried this on OSX (yosemite) with powerpoint 2011 and it worked very well. The only problem I encountered was that the slides with animated bullet points (which appear one after the other) were divided into several slides, but each slide contained all marker points, so I had to delete them manually. However, for everything else, it worked great, and it's a small price to pay compared to doing all of this manually, especially image animations. Of course, you may / may not encounter the same problem on Windows or other versions of PP. In any case, for OSX, this is the only working solution I have found so far.

Instructions for adding VBA macros to powerpoint can be found here .

Hope this works for you too!

+4
source

This blog post contains a VBA macro macro that breaks each slide that has animation into multiple slides without preserving the original slides before the extended slides (as is the case with this answer ).

The problem that remains with this macro and another macro is that the contents of a text block with several animations are always displayed as a whole (for example, if each sentence of the same text block has a separate animation, all sentences will always be displayed together).

VBA Code :

Private AnimVisibilityTag As String Sub ExpandAnimations() AnimVisibilityTag = "AnimationExpandVisibility" Dim pres As Presentation Dim Slidenum As Integer Set pres = ActivePresentation Slidenum = 1 Do While Slidenum <= pres.Slides.Count Dim s As Slide Dim animationCount As Integer Set s = pres.Slides.Item(Slidenum) If s.TimeLine.MainSequence.Count > 0 Then Set s = pres.Slides.Item(Slidenum) PrepareSlideForAnimationExpansion s animationCount = expandAnimationsForSlide(pres, s) Else animationCount = 1 End If Slidenum = Slidenum + animationCount Loop End Sub Private Sub PrepareSlideForAnimationExpansion(s As Slide) ' Set visibility tags on all shapes For Each oShape In s.Shapes oShape.Tags.Add AnimVisibilityTag, "true" Next oShape ' Find initial visibility of each shape For animIdx = s.TimeLine.MainSequence.Count To 1 Step -1 Dim seq As Effect Set seq = s.TimeLine.MainSequence.Item(animIdx) On Error GoTo UnknownEffect For behaviourIdx = seq.Behaviors.Count To 1 Step -1 Dim behavior As AnimationBehavior Set behavior = seq.Behaviors.Item(behaviourIdx) If behavior.Type = msoAnimTypeSet Then If behavior.SetEffect.Property = msoAnimVisibility Then If behavior.SetEffect.To <> 0 Then seq.Shape.Tags.Delete AnimVisibilityTag seq.Shape.Tags.Add AnimVisibilityTag, "false" Else seq.Shape.Tags.Delete AnimVisibilityTag seq.Shape.Tags.Add AnimVisibilityTag, "true" End If End If End If Next behaviourIdx NextSequence: On Error GoTo 0 Next animIdx Exit Sub UnknownEffect: MsgBox ("Encountered an error while calculating object visibility: " + Err.Description) Resume NextSequence End Sub Private Function expandAnimationsForSlide(pres As Presentation, s As Slide) As Integer Dim numSlides As Integer numSlides = 1 ' Play the animation back to determine visibility Do While True ' Stop when animation is over or we hit a click trigger If s.TimeLine.MainSequence.Count <= 0 Then Exit Do Dim fx As Effect Set fx = s.TimeLine.MainSequence.Item(1) If fx.Timing.TriggerType = msoAnimTriggerOnPageClick Then Exit Do ' Play the animation PlayAnimationEffect fx fx.Delete Loop ' Make a copy of the slide and recurse If s.TimeLine.MainSequence.Count > 0 Then s.TimeLine.MainSequence.Item(1).Timing.TriggerType = msoAnimTriggerWithPrevious Dim nextSlide As Slide Set nextSlide = s.Duplicate.Item(1) numSlides = 1 + expandAnimationsForSlide(pres, nextSlide) End If ' Apply visibility rescan = True While rescan rescan = False For n = 1 To s.Shapes.Count If s.Shapes.Item(n).Tags.Item(AnimVisibilityTag) = "false" Then s.Shapes.Item(n).Delete rescan = True Exit For End If Next n Wend ' Clear all tags For Each oShape In s.Shapes oShape.Tags.Delete AnimVisibilityTag Next oShape ' Remove animation (since they've been expanded now) While s.TimeLine.MainSequence.Count > 0 s.TimeLine.MainSequence.Item(1).Delete Wend expandAnimationsForSlide = numSlides End Function Private Sub assignColor(ByRef varColor As ColorFormat, valueColor As ColorFormat) If valueColor.Type = msoColorTypeScheme Then varColor.SchemeColor = valueColor.SchemeColor Else varColor.RGB = valueColor.RGB End If End Sub Private Sub PlayAnimationEffect(fx As Effect) On Error GoTo UnknownEffect For n = 1 To fx.Behaviors.Count Dim behavior As AnimationBehavior Set behavior = fx.Behaviors.Item(n) Select Case behavior.Type Case msoAnimTypeSet ' Appear or disappear If behavior.SetEffect.Property = msoAnimVisibility Then If behavior.SetEffect.To <> 0 Then fx.Shape.Tags.Delete AnimVisibilityTag fx.Shape.Tags.Add AnimVisibilityTag, "true" Else fx.Shape.Tags.Delete AnimVisibilityTag fx.Shape.Tags.Add AnimVisibilityTag, "false" End If Else ' Log the problem End If Case msoAnimTypeColor ' Change color If fx.Shape.HasTextFrame Then Dim range As TextRange Set range = fx.Shape.TextFrame.TextRange assignColor range.Paragraphs(fx.Paragraph).Font.Color, behavior.ColorEffect.To End If Case Else ' Log the problem End Select Next n Exit Sub UnknownEffect: MsgBox ("Encountered an error expanding animations: " + Err.Description) Exit Sub End Sub 
+2
source

For those of you using LibreOffice or OpenOffice, there is a plugin on github that does this very well:

ExpandAnimations

In my experience, all standard appearance / disappearing animations are well separated. Motion animations of the object also work (you get a slide with the starting position and one with the ending position of the object). I did not have the opportunity to test other types of animation, but this should cover all standard needs :-)

0
source

Source: https://habr.com/ru/post/973984/


All Articles