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 DoubleDLL
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