PDFium Component Docs

AsyncRendering Właściwość

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdfView  ·  Moduł: PDFium
Flaga włączana jawnie, która każe widokowi rysować małą nakładkę "Loading..." podczas długich renderów, aby aplikacje korzystające z własnego workera do renderowania w tle miały spójny element wizualny

Składnia

property AsyncRendering: Boolean;

Opis

AsyncRendering jest wizualną częścią wzorca asynchronicznego renderowania: każe ścieżce rysowania pojedynczej strony narysować mały wskaźnik ładowania (konfigurowany przez LoadingText i LoadingColor) nad obszarem renderowanej strony, podczas gdy worker należący do wywołującego renderuje bieżącą stronę. Domyślna wartość to False, więc istniejące aplikacje aktualizują się bez zmiany wizualnej

AsyncRendering sam z siebie nie przerzuca renderowania do wątku roboczego. Od v1.37.0 TPdf serializuje wywołania renderowania i zwalniania strony per instancja, więc worker może renderować przez ten sam komponent bez nakładających się wywołań renderowania PDFium. Wywołujący nadal odpowiada za uruchomienie workera, przekazanie bitmapy i czas życia dokumentu: nie modyfikuj ani nie zwalniaj dokumentu, gdy render jest w toku. Użyj TPdfFuture<T> z FPdfAsync, aby sterować workerem, a AsyncRendering / LoadingText / LoadingColor niech obsługują element wizualny podczas renderowania w toku

Nakładka ładowania to mały prostokąt rysowany na środku obszaru strony, o rozmiarze dopasowanym do podpisu LoadingText. Aplikacje, które potrzebują innego położenia, animacji albo procentu postępu, powinny pozostawić AsyncRendering wyłączone i obsłużyć nakładkę bezpośrednio przez OnPaint

Uwagi

Przykład

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.

Zobacz też

LoadingText, LoadingColor, RenderPage