BeginPageUpdate
Макет страницы
Описание
Открывает транзакцию пакетного рисования на выбранной странице. Последующие вызовы рисования (текст, пути, изображения, аннотации) буферизуются в одну партию и выгружаются в поток содержимого страницы при парном вызове EndPageUpdate
Используйте при сборке сложной страницы из множества мелких примитивов рисования, особенно при повторном открытии сохранённой страницы для правки: пакетирование избавляет от накладных расходов сериализации потока на каждый вызов и держит итоговый поток содержимого страницы компактным и корректным
Синтаксис
Delphi
Function TPDFlib.BeginPageUpdate: Integer;
ActiveX
Function PDFlib::BeginPageUpdate() As Long
DLL
int DLBeginPageUpdate(int InstanceID);
Возвращаемые значения
| 0 | Failed — 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