/// <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; }