function DetectPageSkew(out Report: TPdfSkewReport): Boolean;
| Report | TPdfSkewReport. Recebe SkewAngle em graus (positivo significa inclinação no sentido horário), Confidence de 0 a 1, a SampleWidth e a SampleHeight usadas na detecção, um flag Succeeded e uma ErrorMessage. |
| Result | Boolean. True quando um ângulo foi medido, correspondendo a Report.Succeeded. |
Detecta o ângulo de inclinação renderizando a página em baixa resolução e projetando os pixels de texto sobre ângulos de rotação candidatos; vence o ângulo cuja projeção produz a estrutura de linhas mais nítida. A precisão é de cerca de 0,1 graus
Confidence reflete quanta evidência de linhas de texto a página ofereceu. Uma página de texto corrido pontua alto; uma página com uma única linha ou nenhuma pontua baixo, e uma pontuação baixa deve ser tratada como "nenhuma resposta confiável" em vez de "sem inclinação"
A detecção apenas mede. Para endireitar a página, passe o ângulo negado para uma matriz de rotação e aplique-a com TransformPageContent, ou renderize por meio de RenderPageWithMatrix quando apenas a saída precisa ser corrigida
var Report: TPdfSkewReport;
if Pdf.DetectPageSkew(Report) and (Report.Confidence > 0.5) then
ShowMessageFmt('Tilted by %.2f degrees', [Report.SkewAngle]);