Работаем с PDF в Delphi


Сегодня я расскажу о том, как создавать и работать с PDF файлами в Delphi.
Для этого мы будем использовать компоненты  Rave.

Итак, создаем приложение и сразу бросаем на форму 2 компонента с закладки Rave : RvNDRWriter, RvRenderPDF, а также Button(вкладка Standart).

Теперь после ключевого слова private объявляем переменную:

reportdata: TMemoryStream; // Создаем поток данных

Создаем событие OnClick для Button1 и напишем следующее:
reportdata:=tmemorystream.create; 

RvNDrWriter1.Stream:=reportdata;  {Связываем поток с компонентом}

rvndrWriter1.Execute; // Включаем

RvRenderPdf1.PrintRender(reportdata,'thebest.pdf');   {Связываем с файлом. }

ShellExecute(handle, 'open','thebest.pdf',nil,nil, SW_SHOWNORMAL); // Открываем этот файл

freeandnil(reportdata); // Освободить поток

Теперь переходим к другому компоненту RvNDRWriter и создаем у него событие OnPrint.
Здесь мы будем выполнять все процедуры по рисованию внутри PDF. Я написал следующее:
RvNdrWriter1.SetFont('Arial',16); // Установка шрифта.

RvNdrWriter1.FontColor:=clGreen; // Цвет шрифта

RvNdrWriter1.Print('SourceExpert.Blogspot.Com'); // Вывести строку

RvNdrWriter1.PrintHeader('The Best PDF File: Begin',pjCenter);  {Написать вверху и выровнять по центру}

RvNdrWriter1.PrintFooter('The Best PDF File: End',pjCenter);  {Написать внизу и выровнять по центру}

 А сейчас можно сохранить проект и скомпилировать. При нажании на кнопку должен открываться pdf файл с содержимым, которое мы описали ранее.

Если у вас возникли проблемы, то пишите свой вопрос в комментарии и скачивайте пример.



П.С. Если данная тема кажется вам интересной, то пишите, и я обязательно продолжу эту тему: добавление графических примитивов, рисование, импорт из других файлов и т.д.
А также очень советую почитать, как создавать отчеты в delphi.


Удачи!  SourceExpert.Blogspot.com

Комментарии

  1. Спасибо за статью!
    А есть возможность работы с кириллицей?
    Не вставляются текст на русском.

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

Delphi: Создаем простейшую 2D игру