PDFium Delphi Component Docs

DetectPageSkew 메서드

컴포넌트: TPdf  ·  유닛: PDFium
스캔된 페이지에서 흔히 그렇듯, 현재 페이지가 얼마나 기울어졌는지 측정합니다

Syntax

function DetectPageSkew(out Report: TPdfSkewReport): Boolean;

ReportTPdfSkewReport. 도 단위의 SkewAngle(양수는 시계 방향 기울기), 0부터 1까지의 Confidence, 검출에 사용된 SampleWidthSampleHeight, Succeeded 플래그, ErrorMessage를 받습니다
ResultBoolean. 각도가 측정되면 True이며 Report.Succeeded와 일치합니다

Description

페이지를 저해상도로 렌더링한 뒤 텍스트 픽셀을 후보 회전 각도에 투영하여 기울기 각도를 검출하며, 가장 선명한 선 구조를 만들어내는 각도가 선택됩니다. 정확도는 약 0.1도입니다

Confidence는 페이지가 제공한 텍스트 줄 증거의 양을 반영합니다. 본문 텍스트가 가득한 페이지는 높은 점수를 받고 한 줄뿐이거나 텍스트가 없는 페이지는 낮은 점수를 받으며, 낮은 점수는 "기울기 없음"이 아니라 "신뢰할 수 있는 답 없음"으로 다루어야 합니다

검출은 측정만 합니다. 페이지를 바로잡으려면 부호를 반전한 각도로 회전 행렬을 만들어 TransformPageContent로 적용하거나, 출력만 교정하면 되는 경우 RenderPageWithMatrix로 렌더링합니다

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