2

Обзор вопросов

Я использую Powerpoint для создания своих рисунков. При использовании нормального размера слайда вокруг графики появляется некоторая белая область. В Visio можно обрезать страницу так, чтобы она соответствовала полям содержащейся графики. Как это возможно в PowerPoint? Это означает, что ограничивающим прямоугольником содержащихся объектов является размер слайда.

Долгая мотивация

Powerpoint стал лучше в последние годы. Особенно при обработке цифр, в некоторых случаях он даже превосходит Microsoft Visio. Поэтому Powerpoint все больше выбирает инструмент для создания диаграмм. Легко возможны даже более сложные диаграммы с более чем 10 формами.

При использовании диаграмм в научной публикации, например, с LaTeX, размеры диаграмм обычно не соответствуют обычным размерам слайда PowerPoint, но имеют размеры, подходящие для бумаги. Как правило, высота отличается от типичной высоты слайда PowerPoint.

Я не делаю снимок экрана, потому что снимок экрана - растровая графика. Я делаю экспорт PDF, так как PDF хранит векторную информацию. См., Например, Лучший способ описать вектор против растра для обсуждения, почему векторная графика полезна.

Надеюсь, следующий скриншот прояснит, что нужен другой формат. Я очень хорошо понимаю, что эта презентация - быстрый набросок без использования всей силы powerpoint. Скриншот рисунка

Предполагаемый рабочий процесс:

  1. Создать диаграмму в PowerPoint
  2. Диаграмма урожая
  3. Сохранить диаграмму в формате PDF
  4. Используйте \includegraphics{diagram.pdf} в LaTeX

Текущий рабочий процесс:

Альтернатива А: заменить шаг 2 следующей последовательностью:

  1. Отметить все формы
  2. Вырезать все формы
  3. Изменить размер слайда
  4. Вставить все фигуры
  5. Если есть какое-то несоответствие границ, переходите к 2

Альтернатива B: вставить шаг 3a:

  1. Открыть PDF в Acrobat Professional
  2. Используйте инструмент обрезки страниц Acrobat
  3. Сохранить PDF

Я знаю, что PDF Ножницы также могут быть использованы, но это все еще ручная работа.

Комментарии

Относительно Альтернативы A: при каждом незначительном изменении диаграммы мне не нужно настраивать границы слайдов. Если я сделаю серьезное изменение, мне, возможно, придется скорректировать границы вручную.

Относительно Альтернативы B: я должен делать обрезку каждый раз, я меняю фигуру

Существует также альтернатива C, где я использую trim функцию пакета LaTeX graphicx Однако при каждом значительном изменении слайда я должен угадывать правильные значения, что делает эту альтернативу похожей на Альтернативу А.

Связанных с работой

Я нашел Как изменить размеры слайдов без изменения размеров каких-либо объектов на слайде? и ответ JarynPL кажется многообещающим. Возможно, его макрос должен быть модифицирован "только". Если нет окончательного решения, я сделаю это для себя и выложу здесь.

2 ответа2

1

На основании того, что вы объяснили:

A.
То, что вы запрашиваете, невозможно в PowerPoint с помощью простой команды где-то на панели инструментов, потому что основное назначение PowerPoint находится в другом месте.

B.
Возможно создание макроса с использованием программирования VBA. Программный

  1. Переберите все фигуры и вычислите верхний, левый, нижний и правый края всех (= всего чертежа).
  2. Переместите каждую фигуру (установите свойства Left и Top ), чтобы центр всего рисунка (группы фигур) стал центром слайда. Причина: я вижу, что изменение размера выполняется по отношению к центру слайда, поэтому отцентрируйте свои объекты перед изменением размера слайда.
  3. Установите размер слайда равным ширине и высоте, рассчитанным по значениям, собранным на шаге 1.

Основываясь на вашем профиле StackOverflow, я вижу, что вы программист, так что если вам действительно нужна эта функция, вам не должно быть так сложно собрать ее и сэкономить много времени в будущем при изменении размера слайдов.

Фигуры находятся в коллекции ActivePresentation.Slides(1).Shapes (используйте For Each ... Next). Вы можете найти множество примеров - ключевое слово vba, например, vba powerpoint resize slide или vba powerpoint iterate shapes .

Редактор кода VBA доступен с помощью Alt+F11. В редакторе объектную модель можно изучить с помощью F2 - инспектора объектов. Каждый объект хорошо документирован, нажмите значок справки в инспекторе объектов. Сохраните макрос в презентации и сохраните файл в виде презентации PowerPoint с поддержкой макросов или в качестве шаблона с поддержкой макросов PowerPoint. Если вы застряли, сначала выполните поиск, а затем не стесняйтесь спрашивать в StackOverflow. Кодирование VBA относительно тривиально. У него есть несколько странностей (не используйте круглые скобки при вызове процедуры, только при вызове функции; индексы элементов в коллекциях начинаются с 1), но они вполне терпимы.

Также смотрите команды в меню отладки, чтобы ускорить вашу разработку. Вы можете изменить оперативный код, когда ваша программа ожидает (желтая линия), и вы можете использовать команду Set next, чтобы переместить текущую точку выполнения вперед или назад, куда вы хотите. Отличная экономия времени.

В PowerPoint вы можете открыть список макросов, используя Alt+F8 или из меню View .

0

Теперь есть контекстное меню, в котором вы можете сохранить каждую фигуру как отдельную картинку.

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