function DetectPageSkew(out Report: TPdfSkewReport): Boolean;
| Report | TPdfSkewReport. 도 단위의 SkewAngle(양수는 시계 방향 기울기), 0부터 1까지의 Confidence, 검출에 사용된 SampleWidth와 SampleHeight, Succeeded 플래그, ErrorMessage를 받습니다 |
| Result | Boolean. 각도가 측정되면 True이며 Report.Succeeded와 일치합니다 |
페이지를 저해상도로 렌더링한 뒤 텍스트 픽셀을 후보 회전 각도에 투영하여 기울기 각도를 검출하며, 가장 선명한 선 구조를 만들어내는 각도가 선택됩니다. 정확도는 약 0.1도입니다
Confidence는 페이지가 제공한 텍스트 줄 증거의 양을 반영합니다. 본문 텍스트가 가득한 페이지는 높은 점수를 받고 한 줄뿐이거나 텍스트가 없는 페이지는 낮은 점수를 받으며, 낮은 점수는 "기울기 없음"이 아니라 "신뢰할 수 있는 답 없음"으로 다루어야 합니다
검출은 측정만 합니다. 페이지를 바로잡으려면 부호를 반전한 각도로 회전 행렬을 만들어 TransformPageContent로 적용하거나, 출력만 교정하면 되는 경우 RenderPageWithMatrix로 렌더링합니다
var Report: TPdfSkewReport;
if Pdf.DetectPageSkew(Report) and (Report.Confidence > 0.5) then
ShowMessageFmt('Tilted by %.2f degrees', [Report.SkewAngle]);