示例#1
0
        private ServiceExport.DTO_Settings SettingsConvert(DocTemplateVers.Settings srcSettings)
        {
            ServiceExport.DTO_Settings Settings = new ServiceExport.DTO_Settings();

            if (srcSettings != null)
            {
                Settings.Author                = srcSettings.Author;
                Settings.BackgroundAlpha       = srcSettings.BackgroundAlpha;
                Settings.BackgroundBlue        = srcSettings.BackgroundBlue;
                Settings.BackgroundGreen       = srcSettings.BackgroundGreen;
                Settings.BackGroundImageFormat = srcSettings.BackGroundImageFormat;
                Settings.BackgroundImagePath   = srcSettings.BackgroundImagePath;



                Settings.BackgroundRed = srcSettings.BackgroundRed;
                Settings.Creator       = srcSettings.Creator;
                //Settings.HasHeaderOnFirstPage = srcSettings.HasHeaderOnFirstPage;
                Settings.Height       = srcSettings.Height;
                Settings.Id           = srcSettings.Id;
                Settings.IsActive     = srcSettings.IsActive;
                Settings.Keywords     = srcSettings.Keywords;
                Settings.MarginBottom = srcSettings.MarginBottom;
                Settings.MarginLeft   = srcSettings.MarginLeft;
                Settings.MarginRight  = srcSettings.MarginRight;
                Settings.MarginTop    = srcSettings.MarginTop;
                //Settings.PageNumberAlignment = srcSettings.PageNumberAlignment;
                Settings.Producer = srcSettings.Producer;
                //Settings.ShowPageNumber = srcSettings.ShowPageNumber;
                Settings.Size    = srcSettings.Size;
                Settings.Subject = srcSettings.Subject;
                Settings.Title   = srcSettings.Title;
                Settings.Width   = srcSettings.Width;

                Settings.PagePlacingMask  = srcSettings.PagePlacingMask;
                Settings.PagePlacingRange = srcSettings.PagePlacingRange;

                if (Settings.Size != DocTemplateVers.PageSize.custom)
                {
                    lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.PageSizeValue PgSzV =
                        lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.GetSize(Settings.Size, "px");
                    Settings.Width  = PgSzV.Width;
                    Settings.Height = PgSzV.Height;
                }

                if (Settings.Width < lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.cm_To_Px(5))
                {
                    Settings.Width = lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.cm_To_Px(5);
                }
                if (Settings.Height < lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.cm_To_Px(5))
                {
                    Settings.Height = lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.cm_To_Px(5);
                }
            }

            return(Settings);
        }
示例#2
0
        private static Document InitializeDocument(ref DocTemplateVers.Domain.DTO.ServiceExport.DTO_Settings settings)
        {
            // ATTENZIONE!
            // Nell'esportazione in PDF PRIMA di arrivare qui i margini dei settings vengono
            // REIMPOSTATI! Quindi i SETTINGS DEVONO essere già stati impostati!
            // E' possibile comunque recuperare i DefaultSettings direttamente qui,
            // MA questo comporta che nell'output PDF l'header andrà a sovrapporsi al contenuto.
            // Almeno in fase di TEST, quindi, ho lasciato l'eccezione!

            if (settings == null)
            {
                settings = Export.ExportBaseHelper.GetDefaultPageSettings();
            }

            //settings.Size != DocTemplateVers.PageSize.none ||
            if (settings.Size != DocTemplateVers.PageSize.custom)
            {
                lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.PageSizeValue PgSzV =
                    lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.GetSize(settings.Size, "px");
                settings.Width  = PgSzV.Width;
                settings.Height = PgSzV.Height;
            }

            if (settings.Width < lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.cm_To_Px(5))
            {
                settings.Width = lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.cm_To_Px(5);
            }
            if (settings.Height < lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.cm_To_Px(5))
            {
                settings.Height = lm.Comol.Core.DomainModel.DocTemplateVers.Helpers.Measure.cm_To_Px(5);
            }

            if ((settings.MarginLeft + settings.MarginRight) > settings.Width)
            {
                settings.MarginLeft  = 0;
                settings.MarginRight = 0;
            }

            if ((settings.MarginTop + settings.MarginBottom) > settings.Height)
            {
                settings.MarginTop    = 0;
                settings.MarginBottom = 0;
            }

            Rectangle Page = new Rectangle(settings.Width, settings.Height);

            if (settings.BackgroundAlpha > 0)
            {
                Page.BackgroundColor = new BaseColor(settings.BackgroundRed, settings.BackgroundGreen, settings.BackgroundBlue);
            }

            Document doc = new Document(Page, settings.MarginLeft, settings.MarginRight, settings.MarginTop, settings.MarginBottom);

            return(doc);
        }