18

皆さんにとって、アニメーション付きの ppt スライドを作成する人は次のようになります。

  • 箇条書きを 1 つずつ表示する
  • 画像を 1 つずつ表示するか、プロットをズームする
  • アクティブな要素に境界線を表示する
  • 内部ナビゲーション / メニュー / 別のスライドへのリンク
  • スライド間の遷移

たとえば、ppt を PDF に変換し、各アニメーションを個別のスライドに保持できるツールはありますか?

LaTeX Beamerを使用してアニメーション スライドを作成し、PDF に適切に変換できることは知っています。それらのいくつかを作成しましたが、PDF に変換したい ppt ファイルもいくつかあります。

これは私がこれまでに試したことです:

  • Slideshare、しかし、アニメーションをサポートしていないだけでなく、内部ナビゲーションが機能せず、フォントがすべてめちゃくちゃです.
  • PDFcreator、比較すると品質はかなり優れていますが、アニメーションもサポートしていません。Slideshare のように、1 つの画像を別の画像の上に重ねるだけです。また、透明度はサポートされていません (たとえば、画像の上に半透明の背景があるテキスト ボックス)。
  • 既に述べたLaTeX Beamerですが、アニメーションが PDF で正しく表示されるように、これらの ppts コンテンツとアニメーションを LaTeX に入力することは避けたいと思います。

SO を検索しましたが、アニメーションを扱うための満足のいく答えが見つかりませんでした。あなたは何を使うのですか?

4

4 に答える 4

18

パワーポイントのスライドにアニメーションがある場合はいつでも分割する小さなプラグインを見つけました。したがって、1 つのスライドに 3 つのアニメーションがある場合、各アニメーションのステップごとに 3 つのスライドが生成されます。次に、PDFでエクスポートします:-)

PowerPoint 2010 でうまくいきました。分割する前に、プレゼンテーションのバックアップ ファイルを作成することをお勧めします。「クリックトリガーアニメーションで分割」のチェックを外すことを忘れないでください。

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

私もこれを見つけました(ただし、最初のソリューションは無料で、うまくいきました:-)) http://www.verypdf.com/wordpress/201306/how-to-create-a-pdf-from-powerpoint-with-animations- 36850.html

于 2014-10-20T07:04:51.387 に答える
3

このブログ投稿では、展開されたスライドの前に元のスライドを保持することなく、アニメーションを含むすべてのスライドを複数のスライドに分割する VBA マクロ スクリプトを提供します (この回答の場合のように)。

このマクロと他のマクロに残る問題は、複数のアニメーションを含むテキスト ブロックのコンテンツが常に全体として表示されることです (たとえば、同じテキスト ブロックの各文に個別のアニメーションがある場合、すべての文が常に表示されます)。一緒)。

VBA コード:

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
于 2018-02-09T13:24:10.000 に答える