Программно извлекать содержимое слайдов PowerPoint в формате MS Word? - PullRequest
3 голосов
/ 02 ноября 2011

Я бы хотел извлечь всю информацию (отформатированный текст, изображения и т. Д.) Из в виде текущего читаемого (в стиле MS Word) формата.

Iмне совсем не интересно сохранять концепцию слайдов - подумайте о том, чтобы взять слайды с уроков из курса колледжа и конвертировать их все в одно коллективное учебное пособие.

  1. Я не могу найти способсделайте это в пределах (хотя, если вы знаете об одном, пожалуйста, поделитесь!) и,
  2. У меня нет опыта написания сценариев приложений Office.Легко ли это сделать?Этот сценарий уже где-то существует?

Разъяснение :
В более ранней версии этого поста я использовал слово «текущий»для ссылки на формат без слайдов (в стиле MS Word).Это, однако, не относится к фактическому форматированию содержания слайдов.Так что ведение списков пуль и т. Д. - это хорошо и даже желательно.

Ответы [ 6 ]

2 голосов
/ 04 ноября 2011

Текст довольно просто извлечь, но какой текст вы хотите?Текст только из заголовков и основного текста?Файл, Сохранить как и выберите сохранить контур.

Другой текст на слайде?Это можно вытащить в текстовый файл программно, но в каком порядке?Предположим, у вас есть сложная диаграмма с текстовыми выносками.Извлечение текста даст вам бред.Нет никакого очевидного / значимого порядка в тексте, кроме того, что предоставляет зритель-человек, отмечая, что «А-а. Стрелка рядом с этим битом текста указывает на узел фрибулятора, поэтому должен каким-то образом относиться к нему».Попробуйте сделать это в коде.; -)

Вы могли бы дать автору способ сортировки текста в порядке чтения, чтобы код знал, в каком порядке его извлекать, но это потребовало бы значительного объема работы со стороны автора.

Если вы можете быть уверены, что весь контент представлен в форме заголовка + маркированного списка, не беспокойтесь.В противном случае вы должны были бы иметь возможность четко сформулировать, что вы хотите извлечь, в какой форме и в каком порядке, прежде чем вы сможете получить что-либо с этим.

2 голосов
/ 02 ноября 2011

Не думаю, что это простая задача. Профессора колледжа используют формат «НАЗВАНИЕ: ПУНКТЫ ПУЛЬТА ИЛИ ИЗОБРАЖЕНИЕ» или «КАЖДОЕ СЛОВО, КОТОРОЕ Я СКАЗУЮ» для своих слайдов в моем опыте, и вы просто не будете получать плавный, читаемый текст из предыдущего «нет». независимо от того, что вы делаете. Что касается последнего, у вас уже есть текст, вам просто нужно скопировать его в другой документ.

Думаю, вы могли бы просто открыть PowerPoint, выделить весь текст и скопировать + вставить в Word / Publisher / InDesign / вашу любимую программу верстки. Вы получите тот же эффект и тот же объем редактирования после факта, за исключением того, что вам не придется писать программу, которая сделает это за вас.

Выполнение операции печати в PDF с опциями N-up может быть хорошим решением для раздаточных материалов, если это все, что вам нужно. Вы можете расширить идею и объединить ВСЕ слайды в одну, распечатать ее (с N слайдами на странице и рядом с местом для заметок) и связать, и вуаля, мгновенное учебное пособие. Я видел это, и тогда у тебя есть варианты для заметок.

Больше сил, если вы делаете это только потому, что можете - не позволяйте мне останавливать вас. Так много хорошего можно получить. Возможно, вы захотите написать программу, используя пространство имен Microsoft.Office.Interop в .NET (начиная с http://msdn.microsoft.com/en-us/library/bb772069.aspx), или, возможно, посмотрите на CPAN (http://search.cpan.org/search?mode=all&query=powerpoint) и сделайте это с Perl! Есть много способов сделать это, но вы должны принять вызов.

1 голос
/ 19 октября 2012

Стиль MS Word не только читаемый, но и записываемый (что не было указано в ваших требованиях).Если вам нужно руководство только для чтения, PDF - ваш естественный выбор (либо через Acrobat Distiller, либо через LibreOffice).Комбинируйте отдельные презентации Acrobatted с PDFtk, или Acrobat, или Foxit, и вы сможете вообще без программирования.

"Легко ли это сделать?"- Да, ваш покорный слуга давным-давно написал пару похожих сценариев (извлекает расширенные метафайлы из слайдов Powerpoint).

"Этот сценарий уже где-то существует?"- Да.Вероятно, в сотнях мест, но не уверен, что кто-нибудь из них будет опубликован в сети.Учитывая все вышесказанное, вам кажется, что вам лучше освоить некоторые сценарии и макропрограммы самостоятельно, поскольку готовый сценарий может не совсем соответствовать вашим потребностям - и для его понимания и переписывания вам потребуется больше времени, чем для написания кода.& отладка с нуля.

0 голосов
/ 24 октября 2012

Посмотрите на этот пример кода:

http://msdn.microsoft.com/en-us/library/office/gg278331.aspx

Как: получить весь текст во всех слайдах в презентации

В основном, используя c # и openXML SDK 2.0, он просматривает все слайды в презентации, а затем добавляет каждый текст на каждом слайде в построитель строк.Вы можете записать результат в текстовый файл, если хотите (требуется модификация).

Рекомендация: <25 октября 2012 г.>

Возможно, для вашего учебного пособия вы могли бы извлечь весь текст на каждом слайде и программно вывести его (добавив, чтовключите приведенный выше пример кода во время итерации слайдов) в раздел «Примечания» каждого слайда.При этом вы можете распечатать его в представлении страницы заметок.Вы получите полное изображение слайда в верхней половине страницы, а фактические тексты слайдов внизу в представлении страницы заметок.Это, безусловно, лучше, чем пытаться скопировать и вставить весь текст со слайда в раздел заметок.Вы можете даже напечатать 2 слайда на страницу, так как мелкий текст не будет проблемой внутри изображения слайда, и диаграммы все равно будут видны более или менее.

К сожалению, этот метод работает для простого стандартного формата слайдов... это означает, что все в порядке, если ваши слайды имеют только заголовок и центральное текстовое поле со всеми пунктами маркера ... любой сложный макет слайда (может быть, текстовые поля разбросаны повсюду) выйдет не в порядке и будет сбивать с толку.Но, по крайней мере, вы все равно можете посмотреть на слайд-изображение выше, чтобы понять его:)

0 голосов
/ 22 октября 2012

Я думаю, что вы можете проанализировать файл PowerPoint для форматирования, текста и изображений.Для такой задачи доступны пространства имен Visual Studio.Вы открываете файл, анализируете его и создаете файл Word из них.Сложная работа, так как вам придется учитывать тип элементов и их положение, вам придется использовать временную структуру для каждого слайда.

0 голосов
/ 16 октября 2012

Поскольку вы упоминаете, что форма заголовок + маркировка в порядке, откройте файл, выберите «Сохранить как» и выберите «Схема» в качестве типа «Сохранить как».

...