Преобразование PPT в SVG с помощью Microsoft Office 2010 PIA

Я пытаюсь преобразовать презентацию PowerPoint в отдельные файлы svg (по 1 для каждого слайда). Можно ли это сделать с помощью Microsoft Office 2010 PIA?

Если да, то есть ли учебник по использованию Microsoft Office 2010 PIA в Java?


person fogy    schedule 25.04.2011    source источник


Ответы (7)


Я не знаю готовых автоматических конвертеров, но мне удалось сохранить каждый отдельный слайд в формате PDF в Powerpoint, затем открыть PDF в Inkscape и повторно сохранить в формате SVG. И экспорт PDF в Powerpoint, и импорт PDF в Inkscape довольно сложны и дают хорошие результаты, а SVG является собственным форматом сохранения Inkscape, но может потребоваться некоторая настройка импортированного PDF в Inkscape для точного воспроизведения определенных элементов в оригинале.

Возможно, имело значение то, что у меня установлен Adobe Acrobat, но я не использовал плагин «Сохранить как Adobe PDF», а только обычное диалоговое окно «Сохранить как». Использование «Сохранить как Adobe PDF» дало худшие результаты.

person Chiara Coetzee    schedule 22.05.2012
comment
Просто хотел добавить, что когда я использовал плагин «Сохранить как Adobe PDF», Inkscape вылетает при попытке его открыть. PDF, сохраненный из обычного диалогового окна «Сохранить как», работает как шарм. - person subhacom; 27.08.2018

У меня был больший успех при экспорте в виде расширенного метафайла Windows (.emf), который Inkscape также может читать.

Это было «лучше», потому что, когда я пытался импортировать экспортированный PDF-файл, Inkscape сгенерировал кучу файлов изображений. XML импортированного SVG также выглядел чище.

person PeterVermont    schedule 31.01.2014

Я понимаю, что это старый вопрос, но недавно я попытался это сделать и нашел решение, которое очень хорошо работало с помощью Google Slides:

  1. Загрузите PowerPoint на Google Диск, затем нажмите Open in Google Slides, ИЛИ
  2. Создайте новую презентацию Google Slides, затем нажмите File -> Import Slides... и вставьте нужные слайды.
  3. File -> Download as -> Scalable Vector Graphics (.svg, current slide).
person 0x5453    schedule 17.02.2019

Вот как я это делаю (без Office PIA).

  1. Запустите макрос, чтобы разделить PPTX на столько PDF-файлов, сколько слайдов в презентации.
  2. Используйте inkscape для преобразования каждого PDF в SVG

Макрос VBA

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

Это можно улучшить (например, диалоги, больше элементов управления, добавить как надстройку), но в принципе это так.

шаг чернил

Однострочный для Linux-бокса:

for file in *.pdf; do inkscape --without-gui "--file=$file" "--export-plain-svg=${file%%.*}.svg"; done
person Alain Pannetier    schedule 29.11.2015
comment
У улучшателей. Пожалуйста, держите меня в курсе. Комментарии приветствуются. :) - person Alain Pannetier; 29.11.2015

Это будет довольно сложно, на самом деле нет прямого способа сделать это (пожалуйста, поправьте меня, если я ошибаюсь!) - самый простой способ - распечатать в XPS, а затем преобразовать XAML (XPS == XAML + Zip файл) в файл SVG; это тоже не просто или просто, но сопоставление между XAML => SVG, вероятно, намного ближе.

person Ana Betts    schedule 25.04.2011
comment
Существуют ли конвертеры PPT в SVG, которые могут выполнить эту работу? готов купить при необходимости - person fogy; 25.04.2011

Это не самый плавный перевод, но проверьте компонент pptx4j в docx4j для отображения большинства элементов в SVG. : http://dev.plutext.org/svn/docx4j/trunk/docx4j/src/pptx4j/java/org/pptx4j/samples/RenderAsSvgInHtml.java

person Todd Main    schedule 25.04.2011

В Mac OSX он не оптимизирован для использования из командной строки [1], поэтому вам нужно добавить абсолютный путь к вашим файлам:

for file in *.pdf; do inkscape --without-gui "--file=${PWD}/${file}" "--export-plain-svg=${PWD}/${file%%.*}.svg"; done

В противном случае вы получите это сообщение об ошибке:

** Сообщение: не удалось открыть файл PDF.

** (inkscape-bin:13267): ПРЕДУПРЕЖДЕНИЕ **: Не удается открыть файл: myfile.pdf (не существует)

** (inkscape-bin:13267): ПРЕДУПРЕЖДЕНИЕ **: Указанный документ myfile.pdf не может быть открыт (не существует или не является допустимым файлом SVG)

[1] Inkscape на OSX не может открыть файл PDF с помощью команды терминала

person miller    schedule 11.05.2018