AnalyzePageSkewJSON

影像處理、文件檢查、描繪

描述

量測拉直掃描 PDF 頁面上水平文字與線條結構所需的旋轉角,傳回確定性的 JSON,不更動文件

語法

Delphi

Function TPDFlib.AnalyzePageSkewJSON(Page: Integer; DPI: Double= 0;
  MaxAngle: Double= 0; AngleStep: Double= 0): WideString;

ActiveX

Function PDFlib::AnalyzePageSkewJSON(Page As Long, DPI As Double,
  MaxAngle As Double, AngleStep As Double) As String

DLL

const wchar_t* DLAnalyzePageSkewJSON(int InstanceID, int Page,
  double DPI, double MaxAngle, double AngleStep);
const char* DLAnalyzePageSkewJSONA(int InstanceID, int Page,
  double DPI, double MaxAngle, double AngleStep);

參數

Page頁碼(1 起算)
DPI套用 RenderScale 之前的分析解析度,24 到 1200;零表示選用 96 DPI
MaxAngle對稱搜尋範圍,0.1 到 45 度;零表示選用 7 度
AngleStep粗掃步距,0.01 到 MaxAngle;零表示選用 1 度,之後自動細化

傳回值

傳回 JSON 欄位:page、修正 angle、評分比 confidence、峰值 score、自動灰階 threshold、取樣前景數、取樣間距、評估的角度數、光柵尺寸與有效 DPI

該角度是要在 PDF 使用者空間套用的修正;正值逆時針旋轉,負值順時針旋轉

驗證、渲染或分析失敗時傳回空字串

備註

實作會渲染一張有大小上限的由上而下點陣圖,必要時自動降低有效 DPI 以維持在四百萬像素內,計算自動亮度閾值,並以由粗到細的角度搜尋為差分行輪廓評分

空白或近乎純色的頁面屬於分析成功,信心為零且不會修正

方法傳回前會還原先前所選的頁面

LastErrorCode 為 116 表示頁面或搜尋參數無效,520 表示渲染或分析失敗

另請參閱

DeskewPage, DeskewPageRange, ApplyOCRTextLayer