/// <summary>
        /// Synchronizes the <see cref="EncoderSettings"/> property with UI.
        /// </summary>
        private void SyncEncoderSettingsWithUI()
        {
#if !REMOVE_PDF_PLUGIN && !REMOVE_DOCCLEANUP_PLUGIN
            if (compressionMrcRadioButton.Checked)
            {
                if (_mrcCompressionSettings == null)
                {
                    _mrcCompressionSettings = new PdfMrcCompressionSettings();
                }
                _mrcCompressionSettings.EnableMrcCompression               = true;
                _mrcCompressionSettings.CreateImagesLayer                  = mrcUseImagesLayerRadioButton.Checked;
                _mrcCompressionSettings.CreateBackgroundLayer              = mrcUseBackgroundLayerCheckBox.Checked;
                _mrcCompressionSettings.HiQualityMask                      = mrcHiQualityMaskCheckBox.Checked;
                _mrcCompressionSettings.HiQualityFrontLayer                = mrcHiQualityFrontLayerCheckBox.Checked;
                _mrcCompressionSettings.CreateFrontLayer                   = mrcUseFrontCheckBox.Checked;
                _mrcCompressionSettings.BackgroundLayerCompression         = mrcBackgroundCompressionControl.Compression;
                _mrcCompressionSettings.BackgroundLayerCompressionSettings = mrcBackgroundCompressionControl.CompressionSettings;
                _mrcCompressionSettings.ImagesLayerCompression             = mrcImagesCompressionControl.Compression;
                _mrcCompressionSettings.ImagesLayerCompressionSettings     = mrcImagesCompressionControl.CompressionSettings;
                _mrcCompressionSettings.MaskCompression                    = mrcMaskCompressionControl.Compression;
                _mrcCompressionSettings.MaskCompressionSettings            = mrcMaskCompressionControl.CompressionSettings;
                _mrcCompressionSettings.FrontLayerCompression              = mrcFrontCompressionControl.Compression;
                _mrcCompressionSettings.FrontLayerCompressionSettings      = mrcFrontCompressionControl.CompressionSettings;
                if (mrcImageSegmentationCheckBox.Checked)
                {
                    if (_mrcCompressionSettings.ImageSegmentation == null)
                    {
                        _mrcCompressionSettings.ImageSegmentation = new Vintasoft.Imaging.ImageProcessing.Info.ImageSegmentationCommand();
                    }
                }
                else
                {
                    _mrcCompressionSettings.ImageSegmentation = null;
                }
            }
            else
            {
                if (_mrcCompressionSettings != null)
                {
                    _mrcCompressionSettings.EnableMrcCompression = false;
                }
            }
#endif
        }
        /// <summary>
        /// Handles the SelectedIndexChanged event of MrcCompressionProfileComboBox object.
        /// </summary>
        private void mrcCompressionProfileComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (mrcCompressionProfileComboBox.SelectedIndex == 0)
            {
                return;
            }

#if !REMOVE_PDF_PLUGIN && !REMOVE_DOCCLEANUP_PLUGIN
            PdfMrcCompressionSettings settings = new PdfMrcCompressionSettings();

            _isMrcCompressionProfileInitializing = true;

            switch (mrcCompressionProfileComboBox.SelectedIndex)
            {
            // Document with images, best quality
            case 1:
                settings.CreateBackgroundLayer      = true;
                settings.BackgroundLayerCompression = PdfCompression.Jpeg | PdfCompression.Zip;
                settings.BackgroundLayerCompressionSettings.JpegQuality = 60;
                settings.ImageSegmentation = new ImageSegmentationCommand();
                settings.CreateImagesLayer = false;

                settings.HiQualityMask   = true;
                settings.MaskCompression = PdfCompression.Jbig2;
                settings.MaskCompressionSettings.Jbig2Settings.Lossy = true;

                settings.CreateFrontLayer      = true;
                settings.HiQualityFrontLayer   = true;
                settings.FrontLayerCompression = PdfCompression.Jpeg2000;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionRatio = 300 * 3;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionType  = Jpeg2000CompressionType.Lossy;
                break;

            // Document with images, optimal
            case 2:
                settings.CreateBackgroundLayer      = true;
                settings.BackgroundLayerCompression = PdfCompression.Jpeg | PdfCompression.Zip;
                settings.BackgroundLayerCompressionSettings.JpegQuality = 35;

                settings.ImageSegmentation = new ImageSegmentationCommand();
                settings.CreateImagesLayer = false;

                settings.HiQualityMask   = true;
                settings.MaskCompression = PdfCompression.Jbig2;
                settings.MaskCompressionSettings.Jbig2Settings.Lossy = true;

                settings.CreateFrontLayer      = true;
                settings.HiQualityFrontLayer   = true;
                settings.FrontLayerCompression = PdfCompression.Jpeg | PdfCompression.Zip;
                settings.FrontLayerCompressionSettings.JpegQuality = 25;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionRatio = 400 * 3;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionType  = Jpeg2000CompressionType.Lossy;
                break;

            // Document with images, best compression
            case 3:
                settings.CreateBackgroundLayer      = true;
                settings.BackgroundLayerCompression = PdfCompression.Jpeg | PdfCompression.Zip;
                settings.BackgroundLayerCompressionSettings.JpegQuality = 20;

                settings.ImageSegmentation = new ImageSegmentationCommand();
                settings.CreateImagesLayer = false;

                settings.HiQualityMask   = false;
                settings.MaskCompression = PdfCompression.Jbig2;
                settings.MaskCompressionSettings.Jbig2Settings.Lossy = true;

                settings.CreateFrontLayer      = true;
                settings.HiQualityFrontLayer   = false;
                settings.FrontLayerCompression = PdfCompression.Zip;
                break;

            // Document, best quality
            case 4:
                settings.CreateBackgroundLayer      = true;
                settings.BackgroundLayerCompression = PdfCompression.Jpeg | PdfCompression.Zip;
                settings.BackgroundLayerCompressionSettings.JpegQuality = 30;

                settings.ImageSegmentation = null;
                settings.CreateImagesLayer = false;

                settings.HiQualityMask   = true;
                settings.MaskCompression = PdfCompression.Jbig2;
                settings.MaskCompressionSettings.Jbig2Settings.Lossy = true;

                settings.CreateFrontLayer      = true;
                settings.HiQualityFrontLayer   = true;
                settings.FrontLayerCompression = PdfCompression.Jpeg2000;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionRatio = 300 * 3;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionType  = Jpeg2000CompressionType.Lossy;
                break;

            // Document, optimal
            case 5:
                settings.CreateBackgroundLayer      = true;
                settings.BackgroundLayerCompression = PdfCompression.Jpeg | PdfCompression.Zip;
                settings.BackgroundLayerCompressionSettings.JpegQuality = 25;

                settings.ImageSegmentation = null;
                settings.CreateImagesLayer = false;

                settings.HiQualityMask   = true;
                settings.MaskCompression = PdfCompression.Jbig2;
                settings.MaskCompressionSettings.Jbig2Settings.Lossy = true;

                settings.CreateFrontLayer      = true;
                settings.HiQualityFrontLayer   = false;
                settings.FrontLayerCompression = PdfCompression.Jpeg2000;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionRatio = 350 * 3;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionType  = Jpeg2000CompressionType.Lossy;
                break;

            // Document, best compression
            case 6:
                settings.CreateBackgroundLayer      = true;
                settings.BackgroundLayerCompression = PdfCompression.Jpeg | PdfCompression.Zip;
                settings.BackgroundLayerCompressionSettings.JpegQuality = 20;

                settings.ImageSegmentation = null;
                settings.CreateImagesLayer = false;

                settings.HiQualityMask   = false;
                settings.MaskCompression = PdfCompression.Jbig2;
                settings.MaskCompressionSettings.Jbig2Settings.Lossy = true;

                settings.CreateFrontLayer      = true;
                settings.HiQualityFrontLayer   = false;
                settings.FrontLayerCompression = PdfCompression.Jpeg2000;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionRatio = 450 * 3;
                settings.FrontLayerCompressionSettings.Jpeg2000Settings.CompressionType  = Jpeg2000CompressionType.Lossy;
                break;
            }
            MrcCompressionSettings = settings;
#endif
            UpdateUI();

            _isMrcCompressionProfileInitializing = false;
        }