4

Я пытаюсь распечатать презентацию PowerPoint с 40 слайдами в формате PDF в формате страниц заметок, и полученный в результате размер файла .pdf в 10 раз больше, чем файл .pptx. Космический аудит Acrobat говорит, что это 99,7% данных изображений. Очевидно, PowerPoint создает каждую страницу заметок, помещая растровое изображение слайда сверху, а заметки докладчика - как текст снизу: заметки можно выбрать как текст в Reader, но текст на слайде нельзя.

Проблема исчезнет, если я распечатаю слайды напрямую (текст остается доступным для выбора), но затем заметки докладчика теряются.

При сохранении в формате PDF есть возможность встроить заметки докладчика в виде аннотаций, но они скрыты в крошечной заметке в углу, а длинные заметки обрезаются.

Сохранение в формате PDF с веб-оптимизацией позволяет уменьшить размер файла до чего-то разумного, но слайды выглядят ужасно (низкокачественный JPEG с явными артефактами).

Можно вручную вставить каждый слайд в документ Word в формате EMF и ввести текст под ним. Полученный размер файла вполне приемлем, но он действительно громоздок для длинных презентаций, тем более что я каждый раз редактирую слайды.

Есть ли какой-нибудь лучший способ печатать заметки докладчиков со слайдами, сохраняя слайды как векторные рисунки?

3 ответа3

0

(Опубликовано Райаном)

Благодаря предложению @ julian-knight мне удалось создать следующий скрипт VBA, который вставляет каждую пару слайдов / заметок в новую страницу нового документа Word:

Sub CreateNotesPages()
Dim docx As Word.Document
Dim slide As slide
Dim txt As String
Dim r As Word.Range
Set docx = New Word.Document

For Each slide In ActivePresentation.slides
    slide.Copy
    Set r = docx.Range(docx.Content.End - 1, docx.Content.End)
    r.PasteSpecial Link:=False, _
        DataType:=wdPasteEnhancedMetafile, _
        Placement:=wdInLine, DisplayAsIcon:=False
    txt = slide.NotesPage.Shapes.Placeholders(2) _
        .TextFrame.TextRange.Text
    docx.Content.InsertAfter (vbCrLf & txt)
    Set r = docx.Range(docx.Content.End - 1, docx.Content.End)
    r.InsertBreak Type:=wdPageBreak
Next slide

End Sub
0

PowerPoint 2016 решает эту проблему, для чего она стоит

0

К сожалению, так оно и работает.

Единственная реалистичная альтернатива, которую я могу придумать, - это использовать Office Automation с использованием сценариев VBA для автоматизации рабочего процесса публикации.

Вы также можете автоматизировать рабочий процесс с помощью AutoHotKey.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .