PDFium Component Docs

AsyncRendering Eigenschaft

Dieser API-Eintrag behält Bezeichner, Signaturen, Codeblöcke und PDF-Begriffe in ihrer Originalform.
Komponente: TPdfView  ·  Unit: PDFium
Opt-in-Flag, das die Ansicht anweist, bei langen Rendern eine kleine "Loading..."-Einblendung zu zeichnen, damit Anwendungen mit eigenem Worker für Off-Thread-Rendering dieselbe visuelle Rückmeldung erhalten

Syntax

property AsyncRendering: Boolean;

Beschreibung

AsyncRendering ist der visuelle Teil des Async-Render-Musters: Es weist den Einzelseiten-Zeichenpfad an, während ein vom Aufrufer eigener Worker die aktuelle Seite rendert, einen kleinen Ladeindikator zu zeichnen, der über LoadingText und LoadingColor konfiguriert wird. Der Standardwert ist False, damit bestehende Anwendungen ohne sichtbare Änderung aktualisiert werden

AsyncRendering verschiebt das Rendering nicht selbst auf einen Worker-Thread. Seit v1.37.0 serialisiert TPdf Render- und Page-Unload-Aufrufe pro Instanz, sodass ein Worker über dieselbe Komponente rendern kann, ohne sich überschneidende PDFium-Renderaufrufe. Der Aufrufer behält weiterhin die Verantwortung für Worker-Dispatch, Bitmap-Übergabe und Dokumentlebensdauer: Ändern oder entladen Sie das Dokument nicht, während ein Rendering läuft. Verwenden Sie TPdfFuture<T> aus FPdfAsync, um den Worker zu steuern, und lassen Sie AsyncRendering / LoadingText / LoadingColor die visuelle Rückmeldung während des laufenden Renderings übernehmen

Die Ladeeinblendung ist ein kleines Rechteck in der Mitte des Seitenbereichs, dessen Größe sich nach der Beschriftung von LoadingText richtet. Anwendungen, die eine andere Position, Animation oder Fortschrittsanzeige benötigen, sollten AsyncRendering deaktiviert lassen und die Einblendung direkt über OnPaint behandeln

Hinweise

Beispiel

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

// Das eigentliche Off-Thread-Rendering mit TPdfFuture (FPdfAsync) starten
// Der Worker besitzt sein eigenes TPdf — PdfView1.Pdf NICHT gemeinsam verwenden

Siehe auch

LoadingText, LoadingColor, RenderPage