using Components; using Components.NonVisual; using Components.Object; using Components.SaveToPdfHelpers; using OxyPlot.Legends; namespace WinFormsTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); InitializeListBox(); InitializeDataGridView(); } private void InitializeListBox() { customListBox.SetItems(new List { "Hi 1", "Hi 2", "Hi 3", "Hi 4", "Hi 5", }); } private void InitializeDataGridView() { var columns = new List<(string HeaderText, string DataPropertyName, float FillWeight)> { ("Имя", "Name", 1), ("Возраст", "Age", 1), ("Email", "Email", 2) }; customDataGridView1.ConfigureColumns(columns); var data = new List { new Person ("Иван", 30, "ivan@gmail.com" ), new Person ("Мария", 25, "maria@gmail.com") }; customDataGridView1.FillData(data); } private void GeneratePdfButton_Click(object sender, EventArgs e) { var settings = new PdfDocumentData( "F:\\Отчет1.pdf", "Название документа", new List { new string[,] { { "Ячейка 1.1", "Ячейка 2.1", "Ячейка 3.1" }, { "Ячейка 2.1", "Ячейка 2.2", "Ячейка 3.2" } }, new string[,] { { "Не ячейка 1", "Не ячейка 2" }, { "ЯчАйка 1", "ЯчАйка 2" } } }); try { tablepdf1.GeneratePdf(settings); MessageBox.Show("PDF-документ успешно создан!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show($"Произошла ошибка: {ex.Message}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void btnGeneratePDF_Click(object sender, EventArgs e) { var settings = new PDFTableSettings { FilePath = "F:\\Отчет2.pdf", DocumentTitle = "Отчет по студентам", HeaderTitles = new List { "ФИО", "Возраст", "Почта" }, ColumnWidths = new List { 6.0f, 2.0f, 6.0f }, HeaderRowHeight = 1.0f, DataRowHeight = 1.0f, DataList = new List { new Person ( "Александ Бубылёв", 30, "Alex@mail.ru" ), new Person ( "Шерлок Холмс", 25, "221B_Baker_Street@mail.com" ), new Person ("Стас Асафьев", 41, "Stas@gmail.com") }, ColumnPropertyMappings = new Dictionary { { 0, nameof(Person.Name) }, { 1, nameof(Person.Age) }, { 2, nameof(Person.Email) } } }; try { headeredTablepdf1.GeneratePDFWithHead(settings); MessageBox.Show("PDF-документ успешно создан!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show($"Ошибка: {ex.Message}"); } } private void btnGenerateHistogrammPdf_Click(object sender, EventArgs e) { var setting = new HistogramData { filePath = "F:\\Гистограмма.pdf", documentTitle = "Гистограмма", chartTitle = "Пример гистограммы", legendPosition = LegendPositions.Bottom, chartData = new List { new ChartData { SeriesName = "Серия 1", Data = new Dictionary { { "Категория 1", 5 }, { "Категория 2", 10 } } }, new ChartData { SeriesName = "Серия 2", Data = new Dictionary { { "Категория 1", 3 }, { "Категория 2", 8 } } }, new ChartData { SeriesName = "Серия 3", Data = new Dictionary { { "Категория 1", 3 }, { "Категория 2", 8 } } } } }; try { histogrampdf1.CreateHistogramPdf(setting); MessageBox.Show("PDF успешно сгенерирован!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show($"Ошибка: {ex.Message}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }