Priključivi pozadinski rendereri stranica
HotPDF može da usmeri bitmap renderovanje učitanih stranica kroz pozadinski renderer koji definiše aplikacija uz zadržavanje postojećeg renderera kao podrazumevane opcije bez konfiguracije i opcionog rezervnog režima
Ugrađeni izvorni pozadinski renderer
PDF.UseNativeGDIRenderBackend;
Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);
THPDFNativeGDIRenderBackend izlaže uspostavljeni Windows izvorni GDI renderer kroz isti javni ugovor pozadinskog renderera koji koriste eksterne implementacije
Njegove sposobnosti deklarišu prbcNative, prbcDeterministic, prbcTransparency, prbcColourManagement i prbcThreadSafe bez tvrdnje prbcDeviceAcceleration
SIMD scanline backend
var
Backend: IHPDFPageRenderBackend;
begin
Backend := THPDFSIMDScanlineRenderBackend.Create;
PDF.PageRenderBackend := Backend;
Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);
end;
THPDFSIMDScanlineRenderBackend preflight-uje kompletnu kompajliranu display listu, a zatim upisuje podržane DeviceRGB ili DeviceGray pravougaone popune direktno u konačnu 32-bitnu bitmap površinu kroz 64-bajtne serije i 16-bajtne vektorske repove
Složene pravougaone putanje prate nonzero ili even-odd pravilo popune kao jedna operacija bojanja, čuvajući rupe, smer transformisanih podputanja i prethodno nacrtani sadržaj; rasterizacija proverava otkazivanje u ograničenim serijama i odbacuje delimične površine
Bekend prihvata čuvanje i vraćanje stanja grafike, ortogonalno skaliranje, matrice translacije i rotacije pod pravim uglom, promene boje popune, pravougaonike, operatore popune i reset putanje; tekst, proizvoljne putanje, potezi, slike, transparentnost, klipovanje, šare, shading vrednosti, nepodržani prostori boja i neortogonalne transformacije odustaju pre alokacije bitmape
Njegove mogućnosti deklarišu prbcSIMD, prbcThreadSafe i prbcDeterministic bez deklarisanja akceleracije uređaja, transparentnosti ili upravljanja bojama
prbcDeviceAcceleration
Ugovor prilagođenog pozadinskog renderera
Implementirajte IHPDFPageRenderBackend i dodelite ga THotPDF.PageRenderBackend
THPDFPageRenderBackendRequest isporučuje traženi indeks stranice i DPI, kompajliranu THPDFPageDisplayList i THPDFRenderDocAccess razrešivač za tokove, slike, fontove, opcioni sadržaj, upravljanje bojama i otkazivanje
Pozadinski renderer može da pregleda svaki kompajlirani operator kroz THPDFPageDisplayList.GetToken bez ponovnog parsiranja sadržaja stranice
Vratite True sa novoalociranim TBitmap da biste preneli vlasništvo bitmapa na HotPDF; vratite False bez bitmapa da biste odbili zahtev
Konkurentnost i rezervni režim
Pozadinski rendereri koji deklarišu prbcThreadSafe mogu se izvršavati konkurentno kroz oba paralelna cevovoda renderovanja stranica
Pozadinski rendereri bez te sposobnosti se serijalizuju kroz namensku bravu poziva dok kompajliranje liste prikaza ostaje konkurentno
rbfpSoftwareFallback ponovo pokušava nedostupan, odbijen ili neuspeo zahtev pozadinskog renderera sa postojećim rendererom, dok rbfpFail podiže EHPDFRenderBackend
Menjanje pozadinskog renderera obesnažuje unose keša renderovanih stranica u memoriji i na disku tako da se slike iz različitih renderera nikada ne mešajuIHPDFPageRenderBackendFailureInfo ili vratiti dijagnostički razlog po zahtevu tako da istovremeni odbici čuvaju razlog za tačan pokušaj renderovanja
Promena backend-a poništava unutar-memorijske i trajne unose keša renderovanih stranica tako da se slike različitih renderera nikada ne mešaju
Dijagnostika i vizuelna kapija
THPDFRenderBackendStatistics prijavljuje pokušaje, uspehe, greške, softverske rezervne režime, serijalizovane pozive, proteklo vreme, ime pozadinskog renderera i poslednji razlog greške
Ugrađeni fiksni uređaj parnosti koristi preklapajuću transparentnost i deklariše maksimalnu Delta E 0, grešku RGB alfa kompozicije 0 i broj različitih piksela 0 u odnosu na podrazumevani renderer na Win32 i Win64