function DetectPageSkew(out Report: TPdfSkewReport): Boolean;
| Report | TPdfSkewReport. Recibe SkewAngle en grados (positivo significa inclinación en el sentido de las agujas del reloj), Confidence de 0 a 1, los SampleWidth y SampleHeight usados para la detección, una marca Succeeded y un ErrorMessage |
| Result | Boolean. True cuando se midió un ángulo, coincidiendo con Report.Succeeded |
Detecta el ángulo de inclinación renderizando la página a baja resolución y proyectando los píxeles de texto sobre ángulos de rotación candidatos; gana el ángulo cuya proyección produce la estructura de líneas más nítida. La precisión es de aproximadamente 0.1 grados
Confidence refleja cuánta evidencia de líneas de texto ofreció la página. Una página con texto corrido obtiene una puntuación alta; una página con una sola línea o ninguna obtiene una puntuación baja, y una puntuación baja debe tratarse como "sin respuesta fiable" en lugar de "sin inclinación"
La detección solo mide. Para enderezar la página, introduzca el ángulo negado en una matriz de rotación y aplíquela con TransformPageContent, o renderice mediante RenderPageWithMatrix cuando solo sea necesario corregir la salida
var Report: TPdfSkewReport;
if Pdf.DetectPageSkew(Report) and (Report.Confidence > 0.5) then
ShowMessageFmt('Tilted by %.2f degrees', [Report.SkewAngle]);