private void UpdateField() { //One or more of the fields properties changed so we need to update the field data //which is stored in the annotation objects UserData FormField currentField = _ocrField; string fieldType = (currentField is TextFormField) ? "Text" : "Omr"; switch (fieldType) { case "Text": if (!(currentField is TextFormField)) { currentField = new TextFormField(); } //set text field options (currentField as TextFormField).EnableIcr = _chkEnableIcr.Checked; (currentField as TextFormField).EnableOcr = _chkEnableOcr.Checked; (currentField as TextFormField).Type = _rbTextTypeChar.Checked ? TextFieldType.Character : TextFieldType.Numerical; break; case "Omr": if (!(currentField is OmrFormField)) { currentField = new OmrFormField(); } //set omr field options if (_rbOMRWithFrame.Checked) { (currentField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.WithFrame; } else if (_rbOMRWithoutFrame.Checked) { (currentField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.WithoutFrame; } else if (_rbOMRAutoFrame.Checked) { (currentField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.Auto; } if (_rbOMRSensitivityLowest.Checked) { (currentField as OmrFormField).Sensitivity = OcrOmrSensitivity.Lowest; } else if (_rbOMRSensitivityLow.Checked) { (currentField as OmrFormField).Sensitivity = OcrOmrSensitivity.Low; } else if (_rbOMRSensitivityHigh.Checked) { (currentField as OmrFormField).Sensitivity = OcrOmrSensitivity.High; } else if (_rbOMRSensitivityHighest.Checked) { (currentField as OmrFormField).Sensitivity = OcrOmrSensitivity.Highest; } break; } currentField.Bounds = new LeadRect(Convert.ToInt32(_nudLeft.Value), Convert.ToInt32(_nudTop.Value), Convert.ToInt32(_nudWidth.Value), Convert.ToInt32(_nudHeight.Value)); currentField.Name = _txt_ColumnOptionsFieldName.Text; _chkDropoutWords.Checked = (currentField.Dropout & DropoutFlag.WordsDropout) == DropoutFlag.WordsDropout; _chkDropoutCells.Checked = (currentField.Dropout & DropoutFlag.CellsDropout) == DropoutFlag.CellsDropout; }
private bool AddField(DiskMasterForm currentform, List <XmlModel> model) { try { DiskMasterForm currentMasterForm = currentform; FormRecognitionAttributes attributes = currentMasterForm.ReadAttributes(); FormPages formPages = currentMasterForm.ReadFields(); RasterImage formImage = currentMasterForm.ReadForm(); foreach (XmlModel xmlModel in model) { int i = formPages[xmlModel.PageNumber - 1].Count; formPages[xmlModel.PageNumber - 1].RemoveRange(0, i); foreach (XmlDetail xmlDetail in xmlModel.Detail) { FormField newField = null; if (xmlDetail.FieldInfo.ObjectId == -51) // For textfield => -51 //for OmrField => -50 { newField = new TextFormField(); (newField as TextFormField).EnableIcr = xmlDetail.FieldInfo.OcrFieldInfo.EnableICR; (newField as TextFormField).EnableOcr = xmlDetail.FieldInfo.OcrFieldInfo.EnableOCR; (newField as TextFormField).Type = (xmlDetail.FieldInfo.OcrFieldInfo.Character == true ? TextFieldType.Character : (xmlDetail.FieldInfo.OcrFieldInfo.Numeric == true ? TextFieldType.Numerical : TextFieldType.Data)); if (xmlDetail.FieldInfo.OcrFieldInfo.CellBoarders) { newField.Dropout |= DropoutFlag.CellsDropout; } else { newField.Dropout &= ~DropoutFlag.CellsDropout; } if (xmlDetail.FieldInfo.OcrFieldInfo.Words) { newField.Dropout |= DropoutFlag.WordsDropout; } else { newField.Dropout &= ~DropoutFlag.WordsDropout; } } else { newField = new OmrFormField(); if (xmlDetail.FieldInfo.OmrFieldInfo.WithFrame) { (newField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.WithFrame; } else if (xmlDetail.FieldInfo.OmrFieldInfo.WithoutFrame) { (newField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.WithoutFrame; } else if (xmlDetail.FieldInfo.OmrFieldInfo.Auto) { (newField as OmrFormField).FrameMethod = OcrOmrFrameDetectionMethod.Auto; } if (xmlDetail.FieldInfo.OmrFieldInfo.Lowest) { (newField as OmrFormField).Sensitivity = OcrOmrSensitivity.Lowest; } else if (xmlDetail.FieldInfo.OmrFieldInfo.Low) { (newField as OmrFormField).Sensitivity = OcrOmrSensitivity.Low; } else if (xmlDetail.FieldInfo.OmrFieldInfo.High) { (newField as OmrFormField).Sensitivity = OcrOmrSensitivity.High; } else if (xmlDetail.FieldInfo.OmrFieldInfo.Highest) { (newField as OmrFormField).Sensitivity = OcrOmrSensitivity.Highest; } } newField.Name = xmlDetail.FieldInfo.Name; newField.Bounds = new LeadRect(Convert.ToInt32(Annotations.Engine.AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.X, Leadtools.Annotations.Engine.AnnUnit.Unit, 96)), Convert.ToInt32(Annotations.Engine.AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Y, Annotations.Engine.AnnUnit.Unit, 96)), Convert.ToInt32(Annotations.Engine.AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Width, Annotations.Engine.AnnUnit.Unit, 96)), Convert.ToInt32(Annotations.Engine.AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Height, Annotations.Engine.AnnUnit.Unit, 96))); // newField.Bounds= new LogicalRectangle(AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.X, AnnUnit.Unit, 96), AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Y, AnnUnit.Unit, 96), AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Width, AnnUnit.Unit, 96), AnnUnitConverter.ConvertToPixels(xmlDetail.Cordinates.Height, AnnUnit.Unit, 96), LogicalUnit.Pixel); Annotations.Engine.AnnHiliteObject newObject = new Annotations.Engine.AnnHiliteObject(); newObject.Tag = newField; FormField currentField = newObject.Tag as FormField; formPages[xmlModel.PageNumber - 1].Add(currentField); } } currentMasterForm.WriteForm(formImage); currentMasterForm.WriteAttributes(attributes); currentMasterForm.WriteFields(formPages); return(true); } catch (Exception ex) { return(false); throw; } }