PDFium Component Docs

DetectPageSkew Metoda

Component: TPdf  ·  Unit: PDFium
Mierzy, jak bardzo bieżąca strona jest przechylona, co zwykle dotyczy stron skanowanych

Syntax

function DetectPageSkew(out Report: TPdfSkewReport): Boolean;

ReportTPdfSkewReport. Otrzymuje SkewAngle w stopniach (dodatnia oznacza przechył zgodny z ruchem wskazówek zegara), Confidence od 0 do 1, użyte do detekcji SampleWidth i SampleHeight, flagę Succeeded oraz ErrorMessage
ResultBoolean. True, gdy zmierzono kąt, zgodnie z Report.Succeeded

Description

Wykrywa kąt pochylenia, renderując stronę w niskiej rozdzielczości i rzutując piksele tekstu na kandydujące kąty obrotu; wygrywa kąt, którego rzut daje najostrożniejszą strukturę linii. Dokładność wynosi około 0,1 stopnia

Confidence odzwierciedla, ile dowodów w postaci linii tekstu zaoferowała strona. Strona pełna tekstu ciągłego zdobywa wysoki wynik; strona z jedną linią lub bez żadnej niski, a niski wynik należy traktować jako "brak wiarygodnej odpowiedzi", a nie "brak pochylenia"

Detekcja tylko mierzy. Aby wyprostować stronę, wprowadź zanegowany kąt do macierzy obrotu i zastosuj ją przez TransformPageContent albo renderuj przez RenderPageWithMatrix, gdy poprawiony ma być tylko wynik

Example

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

See Also

TransformPageContent, RenderPageWithMatrix, ApplyOcrSearchLayer, PageRotation