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ä

Related APIs