DeskewPage

图像处理、页面操作、OCR

描述

检测扫描页面的校正角度,并以居中的旋转矩阵包装其现有内容,不会将页面栅格化或重新采样

语法

Delphi

Function TPDFlib.DeskewPage(Page: Integer; DPI: Double= 0;
  MaxAngle: Double= 0; AngleStep: Double= 0;
  MinConfidence: Double= 0; Options: Integer= 0): Double;

ActiveX

Function PDFlib::DeskewPage(Page As Long, DPI As Double,
  MaxAngle As Double, AngleStep As Double, MinConfidence As Double,
  Options As Long) As Double

DLL

double DLDeskewPage(int InstanceID, int Page, double DPI,
  double MaxAngle, double AngleStep, double MinConfidence,
  int Options);

参数

Page从 1 开始的页码
DPI, MaxAngle, AngleStep由 AnalyzePageSkewJSON 描述的分析控件
MinConfidence最小峰值与基线分数比;零表示选择 3
Options零值会保留缩放比例,且可能露出白色角落;PDF_DESKEW_FILL_PAGE 会充分缩放旋转内容以填满未更改的页面框

返回值

返回已应用的校正角度

页面已对齐、置信度低于阈值、页面前景结构不足或操作失败时返回零;请检查 LastErrorCode,以区分有效的无操作与错误

备注

分析位图是临时且有界的,而保存的 PDF 保留原始矢量图形、扫描图像数据以及任何现有 OCR 文本层

所有页面内容层都包含在一个外部图形状态中,因此跨越 /Contents 数组的状态转换会保持原有顺序

保留页面尺寸和选定页面

注释和表单部件几何不是页面内容,也不会变换,因此应在添加 OCR 注释、链接或表单字段前校正扫描页面倾斜

参数无效时 LastErrorCode 为 116;渲染、分析或内容转换失败时为 520

另请参阅

AnalyzePageSkewJSON,DeskewPageRange,OCRPage