PDFium Delphi Component Docs

DetectPageSkew metodas

Komponentas: TPdf  ·  Modulis: PDFium
Išmatuoja, kiek dabartinis puslapis pasviręs, kaip dažnai būna skenuotiems puslapiams

Syntax

function DetectPageSkew(out Report: TPdfSkewReport): Boolean;

ReportTPdfSkewReport. Priima SkewAngle laipsniais (teigiama reiškia pasvirimą pagal laikrodžio rodyklę), Confidence nuo 0 iki 1, aptikimui naudotus SampleWidth ir SampleHeight, Succeeded vėliavėlę ir ErrorMessage
ResultBoolean. True, kai kampas buvo išmatuotas, atitinka Report.Succeeded

Description

Aptinka pasvirimo kampą atvaizduodamas puslapį žema raiška ir projektuodamas teksto pikselius ant kandidatinių sukimo kampų; laimi kampas, kurio projekcija sukuria aštriausią linijų struktūrą. Tikslumas apie 0,1 laipsnio

Confidence atspindi, kiek teksto eilučių įrodymų pateikė puslapis. Teksto puslapis įvertinamas aukštai; puslapis su viena eilute ar be jų — žemai, o žemas įvertinimas turi būti traktuojamas kaip „nėra patikimo atsakymo", o ne „nėra pasvirimo"

Aptikimas tik matuoja. Kad išlygintumėte puslapį, perduokite neigiamą kampą sukimo matricai ir taikykite ją su TransformPageContent arba atvaizduokite per RenderPageWithMatrix, kai taisyti reikia tik išvestį

Example

var Report: TPdfSkewReport;
if Pdf.DetectPageSkew(Report) and (Report.Confidence > 0.5) then
  ShowMessageFmt('Tilted by %.2f degrees', [Report.SkewAngle]);

See Also

TransformPageContent, RenderPageWithMatrix, ApplyOcrSearchLayer, PageRotation