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 StringDLL
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 表示渲染或分析失敗