using ShabComponentsLibrary.OfficePackage.HelperEnums; using ShabComponentsLibrary.OfficePackage.HelperModels; using ShabComponentsLibrary.OfficePackage; using System.ComponentModel; using ShabComponentsLibrary.Enums; namespace ShabComponentsLibrary { /// /// Невизуальный компонент для создания документа с гистограммой /// public partial class ShabDiagramComponent : Component { public ShabDiagramComponent() { InitializeComponent(); } public ShabDiagramComponent(IContainer Container) { Container.Add(this); InitializeComponent(); } public void CreateDocument(string Filename, string Title, string ChartTitle, LegendPosition LegendPosition, Dictionary Data) { if (string.IsNullOrEmpty(Filename)) throw new ArgumentException("Filename cannot be empty"); if (string.IsNullOrEmpty(Title)) throw new ArgumentException("Title cannot be empty"); if (string.IsNullOrEmpty(ChartTitle)) throw new ArgumentException("Chart title cannot be empty"); if (Data.Count == 0) throw new ArgumentException("Data cannot be empty"); SaveToPdf Pdf = new SaveToPdf(); Pdf.CreatePdf(); Pdf.CreateParagraph(new PdfParagraph { Text = Title, Style = "NormalTitle", ParagraphAlignment = PdfParagraphAlignmentType.Left }); Pdf.CreateChart(new PdfChartParameters { Data = Data, Title = ChartTitle, LegendPosition = LegendPosition, }); Pdf.SavePdf(Filename); } } }