Pluggable Page Render Backends
HotPDF voi reitittää ladatun sivun bittikarttarenderöinnin sovelluksen määrittämän taustajärjestelmän kautta säilyttäen olemassa olevan renderöijän nollakonfiguraation oletuksena ja valinnaisena varajärjestelmänä
Sisäänrakennettu natiivi backend
PDF.UseNativeGDIRenderBackend;
Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);
THPDFNativeGDIRenderBackend paljastaa vakiintuneen Windows-alkuperäisen GDI-renderöijän saman julkisen taustajärjestelmäsopimuksen kautta, jota ulkoiset toteutukset käyttävät
Its capabilities declare prbcNative, prbcDeterministic, prbcTransparency, prbcColourManagement, and prbcThreadSafe ilman prbcDeviceAcceleration
-arvoa
var
Backend: IHPDFPageRenderBackend;
begin
Backend := THPDFSIMDScanlineRenderBackend.Create;
PDF.PageRenderBackend := Backend;
Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);
end;
THPDFSIMDScanlineRenderBackend esitarkistaa koko käännetyn näyttöluettelon ja kirjoittaa sitten tuetut DeviceRGB- tai DeviceGray-suorakulmiotäytöt suoraan lopulliseen 32-bittiseen bittikarttapintaan 64-tavuisilla erillä ja 16-tavuisilla vektorihännillä
Yhdistetyt suorakulmiopolut noudattavat nonzero- tai even-odd-täyttösääntöä yhtenä maalausoperaationa säilyttäen reiät, muunnetut alipolkusuunnat ja aiemmin maalatun sisällön; rasterointi tarkistaa peruutuksen rajatuissa erissä ja hylkää osittaiset pinnat
Tausta hyväksyy grafiikkatilan tallennuksen ja palautuksen, ortogonaalisen skaalauksen, siirron ja suorakulmaisen kierron matriisit, täyttövärin muutokset, suorakulmiot, täyttöoperaattorit ja polun nollauksen; teksti, mielivaltaiset polut, vedot, kuvat, läpinäkyvyys, rajaukset, kuviot, varjostukset, tukemattomat väriavaruudet ja ei-ortogonaaliset muunnokset kieltäytyvät ennen bittikartan varausta
Its capabilities declare prbcSIMD, prbcThreadSafe, and prbcDeterministic without claiming device acceleration, transparency, or colour management
THPDFSIMDRenderBackendStatistics ilmoittaa suorat pinnat, renderöidyt suorakulmiot, vektorilohkot, skaalaarihäntäpikselit ja tarkan hylätyn operaattorin, kun varasuunnitelmaa tarvitaan
Oma taustasopimus
Implement IHPDFPageRenderBackend and assign it to THotPDF.PageRenderBackend
THPDFPageRenderBackendRequest sisältää pyydetyn sivuindeksin ja DPI:n, käännetyn THPDFPageDisplayList-listan sekä THPDFRenderDocAccess-resolverin streameille, kuville, fonteille, valinnaiselle sisällölle, väriohjaukselle ja peruutukselle
Tausta voi tarkastella jokaisen käännetyn operaattorin THPDFPageDisplayList.GetToken without reparsing page content
Return True vastavain varatun TBitmap bittikartan siirtääkseen bittikartan omistajuuden HotPDF:lle; palauta False ilman bittikarttaa hylätäksesi pyynnön
Rinnakkaisuus ja varasuunnitelma
Rinnakkaisuus ja varatoiminta prbcThreadSafe raportoi yritykset, onnistumiset, virheet, ohjelmistovarajärjestelmät, sarjallistetut kutsut, kuluneen ajan, taustajärjestelmän nimen ja viimeisimmän virheen syyn
Sisäänrakennettu pariteettifixtuuri käyttää päällekkäistä läpinäkyvyyttä ja ilmoittaa maksimi Delta E 0:n, alfa-yhdistelmän RGB-virheen 0:n ja eroavien pikselien määrän 0 oletusrenderöijää vastaan Win32- ja Win64-ympäristöissä
rbfpSoftwareFallback yrittää käytettävissä olemattoman, hylätyn tai epäonnistuneen taustapyynnön uudelleen olemassa olevalla renderöijällä, kun taas rbfpFail raises EHPDFRenderBackend
A backend can optionally implement IHPDFPageRenderBackendFailureInfo tai palauttaa pyyntökohtaisen diagnoosisyyn, joten rinnakkaiset hylkäykset säilyttävät syyn täsmälleen kyseiselle renderöintiyritykselle
Taustan vaihtaminen mitätöi muistissa ja pysyvästi olevat renderoitujen sivujen välimuistialmeet, joten eri renderöijien kuvia ei koskaan sekoiteta
Diagnostiikka ja visuaalinen portti
THPDFRenderBackendStatistics ilmoittaa yritykset, onnistumiset, viat, ohjelmistovarasuunnitelmat, sarjallistetut kutsut, kuluneen ajan, taustan nimen ja viimeisimmän vian syyn
Sisäänrakennettu pariteettitestiaineisto käyttää päällekkäistä läpinäkyvyyttä ja ilmoittaa enimmäis-Delta E 0, alfa-yhdistelmän RGB-virheen 0 ja eroavan pikselin määrän 0 oletusrenderöijään nähden Win32:lla ja Win64:llä