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