Ejemplo n.º 1
0
        private void _btnOk_Click(object sender, EventArgs e)
        {
            _checkedImgsCount = 0;
            for (int i = 0; i < _cLbImages.Items.Count; i++)
            {
                if (_cLbImages.GetItemChecked(i))
                {
                    _checkedImgsCount++;
                }
            }

            if (_maxImgNum != _checkedImgsCount)
            {
                Messager.ShowWarning(this, string.Format("For this Merg type you must select {0} images exactly", _maxImgNum));
                DialogResult = DialogResult.None;
                return;;
            }

            if (_mergeImage != null)
            {
                _mergeImage.Dispose();
            }
            for (int i = 0; i < _cLbImages.Items.Count; i++)
            {
                if (_cLbImages.GetItemChecked(i))
                {
                    if (_mergeImage == null)
                    {
                        _mergeImage = _images[i].Image.Clone();
                    }
                    else
                    {
                        _mergeImage.AddPages(new RasterImage(_images[i].Image), 1, 1);
                    }
                }
            }

            DialogResult = DialogResult.OK;
        }
Ejemplo n.º 2
0
        private void AddMasterFormPages(RasterImage imagesToAdd, DiskMasterForm currentform, string folderName)
        {
            try
            {
                DiskMasterForm            currentMasterForm = currentform;
                FormRecognitionAttributes attributes        = currentMasterForm.ReadAttributes();
                FormPages   formPages = currentMasterForm.ReadFields();
                RasterImage formImage = currentMasterForm.ReadForm();

                for (int i = 0; i < imagesToAdd.PageCount; i++)
                {
                    //Add each new page to the masterform by creating attributes for each page
                    imagesToAdd.Page = i + 1;
                    AddPageToMasterForm(imagesToAdd.Clone(), attributes, -1, null);
                }

                //Add image
                if (formImage != null)
                {
                    formImage.AddPages(imagesToAdd.CloneAll(), 1, imagesToAdd.PageCount);
                }
                else
                {
                    formImage = imagesToAdd.CloneAll();
                }

                //Only add processing pages for the new pages
                if (formPages != null)
                {
                    for (int i = 0; i < imagesToAdd.PageCount; i++)
                    {
                        formPages.Add(new FormPage(formPages.Count + 1, imagesToAdd.XResolution, imagesToAdd.YResolution));
                    }
                }
                else
                {
                    //No processing pages exist so we must create them
                    FormRecognitionEngine recognitionEngine    = SetupRecognitionEngine();
                    FormProcessingEngine  tempProcessingEngine = new FormProcessingEngine();
                    tempProcessingEngine.OcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, false);
                    //tempProcessingEngine.BarcodeEngine = barcodeEngine;

                    for (int i = 0; i < recognitionEngine.GetFormProperties(attributes).Pages; i++)
                    {
                        tempProcessingEngine.Pages.Add(new FormPage(i + 1, imagesToAdd.XResolution, imagesToAdd.YResolution));
                    }

                    formPages = tempProcessingEngine.Pages;
                }

                //FormField newField = null;
                //AnnHiliteObject newObject = new AnnHiliteObject();
                //newField = new TextFormField();
                //newField.Name = "test";
                //newField.Bounds = new LogicalRectangle(50, 50, 50, 50, LogicalUnit.Pixel);

                //FormField newField1 = null;
                //AnnHiliteObject newObject1 = new AnnHiliteObject();
                //newField1 = new OmrFormField();
                //newField1.Name = "test1";
                //newField1.Bounds = new LogicalRectangle(50, 50, 50, 50, LogicalUnit.Pixel);

                //newObject.Tag = newField;
                //newObject1.Tag = newField1;
                //FormField currentField = newObject.Tag as FormField;
                //FormField currentField1 = newObject1.Tag as FormField;

                //formPages[0].Add(currentField);
                //formPages[0].Add(currentField1);

                currentMasterForm.WriteForm(formImage);
                currentMasterForm.WriteAttributes(attributes);
                currentMasterForm.WriteFields(formPages);
                DBHelper.UpdateTifPageCount(formImage.PageCount.ToString(), folderName);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 3
0
        private void _mnuFileSave_Click(object sender, EventArgs e)
        {
            if (_lstImagesInfoMulti == null || _lstImagesInfoMulti.Count <= 0)
            {
                Messager.ShowError(this, "Please Load Files");
                return;
            }

            RasterImage img    = null;
            Cursor      cursor = this.Cursor;

            try
            {
                cursor      = this.Cursor;
                this.Cursor = Cursors.WaitCursor;
                EnableControls(false);

                this._labelConverted.Text = "0";

                if (_saveDialog.ShowDialog() == DialogResult.OK)
                {
                    RasterImageFormat selectedformat = RasterImageFormat.CcittGroup4;
                    if (_saveDialog.FilterIndex == 2)
                    {
                        selectedformat = RasterImageFormat.RasPdfG4;
                    }

                    _szMultiPageFile = _saveDialog.FileName;
                    if (_mnuOptionsSingleRasterImage.Checked)
                    {
                        for (int i = 0; i < _lstImagesInfoMulti.Count; i++)
                        {
                            RasterImage loadedImage = _codecs.Load(_lstImagesInfoMulti[i].Name, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, -1);
                            if (i == 0)
                            {
                                img = loadedImage;
                            }
                            else
                            {
                                img.AddPages(loadedImage, 1, -1);
                            }

                            _labelConverted.Text = (Convert.ToInt32(_labelConverted.Text) + 1).ToString();
                            Application.DoEvents();
                        }

                        _codecs.Save(img, _szMultiPageFile, selectedformat, 0);

                        img.Dispose();
                    }
                    else
                    {
                        for (int i = 0; i < _lstImagesInfoMulti.Count; i++)
                        {
                            CodecsImageInfo info = _codecs.GetInformation(_lstImagesInfoMulti[i].Name, true);
                            for (int j = 1; j <= info.TotalPages; j++)
                            {
                                img = _codecs.Load(_lstImagesInfoMulti[i].Name, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, j, j);
                                if (i == 0 && j == 1)
                                {
                                    _codecs.Save(img, _szMultiPageFile, selectedformat, 0, 1, 1, 1, CodecsSavePageMode.Overwrite);
                                }
                                else
                                {
                                    while (!ReadyToAccess(_szMultiPageFile))//Insure File is not inused by other processes
                                    {
                                        Application.DoEvents();
                                    }

                                    _codecs.Save(img, _szMultiPageFile, selectedformat, 0, 1, 1, -1, CodecsSavePageMode.Append);
                                }

                                img.Dispose();
                                Application.DoEvents();
                            }
                            _labelConverted.Text = (Convert.ToInt32(_labelConverted.Text) + 1).ToString();
                            info.Dispose();
                            Application.DoEvents();
                        }
                    }

                    Messager.ShowInformation(this, "Save in MultiPageFile Done");
                }
            }
            catch (Exception ex)
            {
                Messager.ShowError(this, ex);
            }
            finally
            {
                this.Cursor = cursor;
                EnableControls(true);
            }
        }