This is how I do it (without Office PIA).
- Run a macro to split PPTX into as many PDF files as slides in your presentation.
- Use inkscape to convert every PDF to SVG
VBA macro
Sub ExportAllSlidesInPDF() Dim SourceView, answer As Integer Dim SourceSlides, NumPres, x As Long Dim ThisSlideFileNamePDF As String NumPres = Presentations.Count If NumPres = 0 Then MsgBox "No Presentation Open", vbCritical, vbOKOnly, "No Presentations Open" End If SourceView = ActiveWindow.ViewType SourceSlides = ActivePresentation.Slides.Count For x = 1 To SourceSlides Presentations.Add With ActivePresentation.PageSetup .SlideHeight = Presentations(1).PageSetup.SlideHeight .SlideWidth = Presentations(1).PageSetup.SlideWidth End With If ActiveWindow.ViewType <> ppViewSlide Then ActiveWindow.ViewType = ppViewSlide End If Presentations(1).Windows(1).Activate If ActiveWindow.ViewType <> ppViewSlideSorter Then ActiveWindow.ViewType = ppViewSlideSorter End If ActivePresentation.Slides.Range(Array(x)).Select ActiveWindow.Selection.Copy Presentations(2).Windows(1).Activate If ActiveWindow.ViewType <> ppViewSlide Then ActiveWindow.ViewType = ppViewSlide End If ActiveWindow.View.Paste ActiveWindow.Selection.Unselect ThisSlideFileNamePDF = "Slide_" & x & ".pdf" ActivePresentation.SaveAs ThisSlideFileNamePDF, ppSaveAsPDF ActivePresentation.Close Presentations(1).Windows(1).Activate Next x ActiveWindow.ViewType = SourceView End Sub
This can be improved (for example, dialogs, more controls, add as an add-on), but here it is in principle.
step inkscape
Single liner for Linux:
for file in *.pdf; do inkscape --without-gui "--file=$file" "--export-plain-svg=${file%%.*}.svg"; done
Alain pannetier
source share