PDFium Delphi Component Docs

DetectPageSkew Método

Componente: TPdf  ·  Unidad: PDFium
Measure how far the current page is tilted, as scanned pages usually are.

Syntax

function DetectPageSkew(out Report: TPdfSkewReport): Boolean;

ReportTPdfSkewReport. 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
ResultBoolean. True cuando se midió un ángulo, coincidiendo con Report.Succeeded

Description

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

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