PDFium Delphi Component Docs

DetectPageSkew метод

Component: TPdf  ·  Unit: PDFium
Вимірює, наскільки нахилена поточна сторінка, як це зазвичай буває зі сканованими сторінками

Syntax

function DetectPageSkew(out Report: TPdfSkewReport): Boolean;

ReportTPdfSkewReport. Отримує SkewAngle у градусах (додатне значення означає нахил за годинниковою стрілкою), Confidence від 0 до 1, SampleWidth і SampleHeight, використані для виявлення, прапорець 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