PDFium Delphi Component Docs

DetectPageSkew متد

کامپوننت: TPdf  ·  واحد: PDFium
اندازه‌گیری می‌کند صفحهٔ جاری چقدر کج شده، همان‌طور که صفحه‌های اسکن‌شده معمولاً هستند

Syntax

function DetectPageSkew(out Report: TPdfSkewReport): Boolean;

ReportTPdfSkewReport. SkewAngle را بر حسب درجه (مقدار مثبت یعنی کجی در جهت ساعتگرد)، Confidence از ۰ تا ۱، SampleWidth و SampleHeight به‌کاررفته برای تشخیص، پرچم Succeeded و ErrorMessage را دریافت می‌کند
ResultBoolean. وقتی زاویه‌ای اندازه‌گیری شد True است، منطبق بر Report.Succeeded

Description

زاویهٔ کجی را با رندر صفحه با وضوح پایین و افکندن پیکسل‌های متن روی زوایای چرخش نامزد تشخیص می‌دهد؛ زاویه‌ای که افکنش آن تیزترین ساختار خطی را بسازد برنده می‌شود؛ دقت حدود ۰.۱ درجه است

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