PDFium Delphi Component Docs

DetectPageSkew metod

Component: TPdf  ·  Unit: PDFium
Mäter hur mycket den aktuella sidan är snedställd, vilket skannade sidor brukar vara

Syntax

function DetectPageSkew(out Report: TPdfSkewReport): Boolean;

ReportTPdfSkewReport. Tar emot SkewAngle i grader (positiv betyder medurs lutning), Confidence från 0 till 1, de för detektionen använda SampleWidth och SampleHeight, en flagga Succeeded och en ErrorMessage
ResultBoolean. True när en vinkel mättes, i överensstämmelse med Report.Succeeded

Description

Detekterar snedställningsvinkeln genom att rendera sidan i låg upplösning och projicera textpixlar på kandidatroteringsvinklar; vinkeln vars projektion ger den skarpaste radstrukturen vinner. Noggrannheten är cirka 0.1 grader

Confidence återspeglar hur mycket textlinjebevis sidan erbjöd. En sida löpande text får hög poäng; en sida med en enda rad eller ingen får låg poäng, och en låg poäng ska tolkas som "inget tillförlitligt svar" i stället för "ingen snedställning"

Detekteringen mäter endast. För att räta upp sidan, mata in den negerade vinkeln i en rotationsmatris och tillämpa den med TransformPageContent, eller rendera via RenderPageWithMatrix när endast utdata behöver korrigeras

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