BeginPageUpdate

Макет страницы

Описание

Открывает транзакцию пакетного рисования на выбранной странице. Последующие вызовы рисования (текст, пути, изображения, аннотации) буферизуются в одну партию и выгружаются в поток содержимого страницы при парном вызове EndPageUpdate

Используйте при сборке сложной страницы из множества мелких примитивов рисования, особенно при повторном открытии сохранённой страницы для правки: пакетирование избавляет от накладных расходов сериализации потока на каждый вызов и держит итоговый поток содержимого страницы компактным и корректным

Синтаксис

Delphi

Function TPDFlib.BeginPageUpdate: Integer;

ActiveX

Function PDFlib::BeginPageUpdate() As Long

DLL

int DLBeginPageUpdate(int InstanceID);

Возвращаемые значения

0Failed — no document is open or no page is currently selected.
1Транзакция пакетной отрисовки запущена

Примечания

Каждый вызов BeginPageUpdate должен быть спарен с одним вызовом EndPageUpdate на той же странице. Пара не строго обязательна при добавлении содержимого в совершенно новую страницу, только что созданную NewPage: в этом случае страница уже в состоянии "открыта для записи". Пара обязательна при повторном открытии ранее закрытой страницы (после EndPage или после загрузки документа) и изменении ее содержимого

Вложенные вызовы не поддерживаются — перед открытием другой страницы для редактирования вызовите EndPageUpdate.

Пример

// Add a stamp on an existing page of a loaded document
PDF.LoadFromFile('contract.pdf', '');
PDF.SelectPage(1);
PDF.BeginPageUpdate;
  PDF.SetTextColor(0.8, 0, 0);
  PDF.SetFontSize(48);
  PDF.PrintText(150, 400, 'DRAFT');
PDF.EndPageUpdate;
PDF.SaveToFile('contract-stamped.pdf');

См. также

EndPageUpdate, SelectPage, NewPage, EndPage