PDFium Delphi Component Docs

DetectPageSkew metodo

Componente: TPdf Unità: PDFium
Misura quanto è inclinata la pagina corrente, come di solito lo sono le pagine acquisite da scanner.

Syntax

function DetectPageSkew(out Report: TPdfSkewReport): Boolean;

ReportTPdfSkewReport. Riceve SkewAngle in gradi (positivo significa inclinazione in senso orario), Confidence da 0 a 1, la SampleWidth and SampleHeight usata per il rilevamento, un flag Succeeded , e un ErrorMessage.
ResultBoolean. True quando è stato misurato un angolo, corrispondente a Report.Succeeded.

Description

Rileva l'angolo di inclinazione eseguendo il rendering della pagina a bassa risoluzione e proiettando i pixel del testo su angoli di rotazione candidati; vince l'angolo la cui proiezione produce la struttura di righe più netta. La precisione è di circa 0,1 gradi

Confidence riflette quanta evidenza di righe di testo offre la pagina. Una pagina di testo continuo ottiene un punteggio alto; una pagina con una sola riga o nessuna ottiene un punteggio basso, e un punteggio basso va trattato come "nessuna risposta affidabile" anziché "nessuna inclinazione"

Il rilevamento si limita a misurare. Per raddrizzare la pagina, inserisci l'angolo negato in una matrice di rotazione e applicala con TransformPageContent, oppure esegui il rendering attraverso RenderPageWithMatrix quando solo l'output deve essere corretto

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