Skip to content

配置测量属性

通过设置CPDFLineAnnotationCPDFPolylineAnnotationCPDFPolygonAnnotation注释中的measureInfo属性 ,来设置测量比例与精度。

以下是配置测量属性的示例代码:

swift
// 获取需要创建便签的页面对象
if let page = document?.page(at: 0) {
  // 创建直线注释
  var anotation = CPDFLineAnnotation(document: document)
  
  // 设置起点和终点
  anotation?.startPoint = CGPoint(x: 350, y: 270)
  anotation?.endPoint = CGPoint(x: 260, y: 370)

  // 创建测量属性,设置测量比例与精度 (默认比例 1 cm = 1 cm)
  var measureInfo = CPDFDistanceMeasureInfo()
  measureInfo.rulerBase = 1.0
  measureInfo.rulerBaseUnit = CPDFMeasureConstants.sharedInstance().cpdfCm
  measureInfo.rulerTranslate = 1.0;
  measureInfo.rulerTranslateUnit = CPDFMeasureConstants.sharedInstance().cpdfKm

  // 设置精度为 0.01。
  measureInfo.precision = CPDFMeasureConstants.sharedInstance().precisionValueTwo

  // 设置两端引线长度(此属性CPDFDistanceMeasureInfo独有)
  measureInfo.leadLength = 5.0

  // 设置直线注释的测量属性
  //设置MeasureInfo:相关信息需要在将其加在页面后才会有效
  anotation?.measureInfo = measureInfo;
  
  // 更新注释外观使其显示在文档上
  page.addAnnotation(anotation!)
}
objective-c
// 获取需要创建便签的页面对象
CPDFPage *page = [document pageAtIndex:0];

// 创建直线注释
CPDFLineAnnotation *anotation = [[CPDFLineAnnotation alloc] initWithDocument:document];

// 设置起点和终点
anotation.startPoint = CGPointMake(350, 270);
anotation.endPoint = CGPointMake(260, 370);

// 创建测量属性,设置测量比例与精度 (默认比例 1 cm = 1 cm)
CPDFDistanceMeasureInfo *measureInfo = [[CPDFDistanceMeasureInfo alloc] init];
measureInfo.rulerBase = 1.0;
measureInfo.rulerBaseUnit = [CPDFMeasureConstants sharedInstance].cpdfCm;
measureInfo.rulerTranslate = 1.0;
measureInfo.rulerTranslateUnit = [CPDFMeasureConstants sharedInstance].cpdfKm;

// 设置精度为 0.01。
measureInfo.precision = [CPDFMeasureConstants sharedInstance].precisionValueTwo;

// 设置两端引线长度(此属性CPDFDistanceMeasureInfo独有)
measureInfo.leadLength = 5.0

// 设置直线注释的测量属性
//设置MeasureInfo:相关信息需要在将其加在页面后才会有效
[anotation setMeasureInfo:measureInfo];

// 更新注释外观使其显示在文档上
[page addAnnotation:anotation];

测量支持的单位

可以通过 measureInfo.rulerBaseUnitmeasureInfo.rulerTranslateUnit 设置PDF文件上测量尺的单位与实际物体的尺寸单位,支持的单位和传入的参数值如下表:

单位常量
点(Point)[CPDFMeasureConstants sharedInstance].cpdfPtpt
英寸(Inch)[CPDFMeasureConstants sharedInstance].cpdfInin
毫米(Millimeter)[CPDFMeasureConstants sharedInstance].cpdfMmmm
厘米(Centimeter)[CPDFMeasureConstants sharedInstance].cpdfCmcm
米(Meter)[CPDFMeasureConstants sharedInstance].cpdfMm
千米(Kilometer)[CPDFMeasureConstants sharedInstance].cpdfKmkm
英尺(Foot)[CPDFMeasureConstants sharedInstance].cpdfFtft
码(Yard)[CPDFMeasureConstants sharedInstance].cpdfYdyd
英里(Mile)[CPDFMeasureConstants sharedInstance].cpdfMimi