Как создать Microsoft PowerPoint 2007 XML из Delphi/C++Builder/Lazarus?

27.07.2020

Microsoft PowerPoint - программа подготовки презентаций и просмотра презентаций, являющаяся частью Microsoft Office и доступная в редакциях для операционных систем Microsoft Windows и macOS, а также для мобильных платформ Android и IOS.

Программа сохраняет новую презентацию в формате *.pptx, *.ppt, *.ppsx и *.pps Время от времени появляется вопрос - как сделать презентацию на Delphi / Lazarus?
Тут не так уж и много вариантов.
1. Разобраться в формате PPTX и самому напрямую туда писать. Признаемся честно, удовольствие сомнительное. Но много интересного узнаете. :)
2. Мучаться, используя OLE и, имея на рабочем компьютере MS Office.
3. Ну или выбрать альтернативу, например, FastReport!

FastReport позволяет сразу посмотреть, оценить документ перед экспортом в формат PowerPoint, тут столько возможностей для изменений от штрих-кодов (да-да - те самые QR-коды на слайдах, по которым можно отправить аудиторию на свой сайт, дать свою визитку, попросить проголосовать и т.д.!) и чартов-графиков до карт с картинками.

Создадим PowerPoint презентацию из Delphi / Lazarus через дизайнер FastReport

Да, как обычно, нам потребуются только компонент frxReport на форме и кнопка с обработчиком 

Открытие окна предварительного просмотра
1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
begin
 {Формируем отчет. Перед экспортом отчёт необходимо обязательно сформировать}
 if frxReport1.PrepareReport then
 frxReport1.ShowPreparedReport; 
 {и показываем окно предварительного просмотра}
end;

Создаём документ любого вида, размера и содержания, которому суждено стать презентацией! Ах, да, на форму ещё TfrxPPTXExport положить! Запустили, посмотрели и из предпросмотра сохранили в PPTX.

Сохранить в Microsoft PowerPoint 2007 XML

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

В данном случае нам нужно сохранить в формате Microsoft PowerPoint 2007 XML, а значит кликаем на него.

Настройки Microsoft PowerPoint 2007 XML

Теперь у нас всплывает окно, в котором мы можем наблюдать настройки экспорта документа.

Здесь есть возможность сохранения всех страниц, текущей, на которой вы находитесь или же указываете конкретные страницы.

Присутствует и функция автоматического открытия документа сразу же после сохранения.

Настройки Microsoft PowerPoint 2007 XML

На этом возможности не заканчиваются. В FastReport VCL присутствует такая опция, как возможность сохранить файл в памяти ПК или же загрузить в облако, или передать по электронной почте. Конечным действием будет нажать клавишу сохранить.

Мы рассмотрели, как отчёт записать в Microsoft PowerPoint 2007 XML из Delphi/C++Builder/Lazarus изокна предварительного просмотра.

Сохранение в Microsoft PowerPoint 2007 XML из кода Delphi или Lazarus

Сохранение в Microsoft PowerPoint 2007 XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TForm1.Button1Click(Sender: TObject);
begin
 {Формируем отчет. Перед экспортом отчёт необходимо обязательно сформировать}
 frxReport1.PrepareReport();
 {Устанавливаем диапазон экспортируемых страниц. По умолчанию экспортируются все страницы
  сформированного отчета}
 frxPPTXExport1.PageNumbers := '2-3';
 {Устанавливаем, в каком формате экспортировать изображения}
 //uses frxImageConverter;
 // TfrxPictureType = (gpPNG, gpBMP, gpJPG {$IFNDEF FPC}, gpGIF, gpEMF, gpWMF{$ENDIF})
 frxPPTXExport1.PictureType := gpPNG;
 {Устанавливаем, нужно ли открывать результирующий файл после экспорта}
 frxPPTXExport1.OpenAfterExport := False;
 {Устанавливаем, нужно ли отображать прогресс экспорта
  (показывать, какая страница в данный момент экспортируется)}
 frxPPTXExport1.ShowProgress := False;
 {Устанавливаем, нужно ли отображать окно диалога с настройками фильтра экспорта}
 frxPPTXExport1.ShowDialog := False;
 {Устанавливаем имя результирующего файла.}
 {Обратите внимание на то, что если не установить имя файла и отключить показ диалогового окна фильтра экспорта,}
 {то всё равно будет отображен диалог выбора имени файла}
 frxPPTXExport1.FileName := 'C:\Output\test.pptx';
 {Экспортируем отчёт}
 frxReport1.Export(frxPPTXExport1);
end;

Как видим, презентации из Delphi или Lazarus создать легко. Естественно, есть некоторые ограничения - графики и карты в презентации будут картинками, а красивые эффекты - “появление”, “растворение”, и прочее поведение объектов во время доклада по клику мыши надо будет настраивать уже в самой программе подготовки презентаций.

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.