PDFium Delphi Component Docs

AsyncRendering Свойство

Компонент: TPdfView  ·  Модуль: PDFium
Флаг по включению, который говорит просмотру рисовать небольшую накладку "Loading..." во время долгих отрисовок, чтобы приложения, использующие свой worker для отрисовки вне основного потока, показывали единообразный визуальный индикатор

Syntax

property AsyncRendering: Boolean;

Description

AsyncRendering — визуальная половина паттерна асинхронного рендеринга: она велит пути отрисовки одиночной страницы рисовать небольшой индикатор загрузки (настраивается через LoadingText и LoadingColor) поверх области отрендеренной страницы, пока worker на стороне вызывающего рендерит текущую страницу. По умолчанию False, так что существующие приложения обновляются без визуальных изменений

Сам по себе AsyncRendering не выносит рендеринг в рабочий поток. Начиная с v1.37.0, TPdf сериализует вызовы рендеринга и выгрузки страниц на экземпляр, поэтому worker может рендерить через тот же компонент, не пересекаясь с вызовами рендеринга PDFium. Диспетчеризацию worker, передачу bitmap и время жизни документа по-прежнему держит вызывающий: не мутируйте и не выгружайте документ, пока рендеринг в полёте. Управляйте worker через TPdfFuture<T> из FPdfAsync, а визуальную сторону во время рендеринга оставьте AsyncRendering / LoadingText / LoadingColor

Оверлей загрузки — небольшой прямоугольник в центре области страницы, размером с подпись LoadingText. Приложениям, которым нужны другое размещение, анимация или процент прогресса, лучше держать AsyncRendering выключенным и рисовать оверлей напрямую через OnPaint

Remarks

Example

PdfView1.AsyncRendering := True;
PdfView1.LoadingText := 'Rendering...';
PdfView1.LoadingColor := clGray;

// Kick off the actual off-thread render with TPdfFuture (FPdfAsync).
// The worker owns its own TPdf — DO NOT share PdfView1.Pdf.

See Also

LoadingText, LoadingColor, RenderPage