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

2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.
8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.