using ComponentLibrary1.pdf_diagram; using ComponentLibrary1.pdf_image; using ComponentLibrary1.pdf_table; namespace TestApp1 { public partial class Form1 : Form { private List selectedImages = new List(); public Form1() { InitializeComponent(); System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); checkList.ChangeEvent += DoChange; limitedText.ChangeEvent += DoChange2; List categories = new List { "Department", "JobTitle", "FullName" }; treeList.SetCategories(categories); } #region test1 private void input_Click(object sender, EventArgs e) { try { checkList.Input(textBox1.Text); textBox1.Text = string.Empty; } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void clear_Click(object sender, EventArgs e) { checkList.Clear(); } private void set_Click(object sender, EventArgs e) { checkList.SelectedItem = textBox1.Text; } private void get_Click(object sender, EventArgs e) { textBox1.Text = checkList.SelectedItem; } private void DoChange(object? sender, EventArgs e) { changeBox.Checked = true; } #endregion #region test2 private void write_Click(object sender, EventArgs e) { try { limitedText.TextField = textBox2.Text; } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void read_Click(object sender, EventArgs e) { try { textBox2.Text = limitedText.TextField; } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void inputMin_Click(object sender, EventArgs e) { limitedText.Min = (int)numericMin.Value; } private void inputMax_Click(object sender, EventArgs e) { limitedText.Max = (int)numericMax.Value; } private void DoChange2(object? sender, EventArgs e) { changeBox2.Checked = true; } #endregion #region test3 private void add_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(textBoxDepartment.Text) || string.IsNullOrEmpty(textBoxJobTitle.Text) || string.IsNullOrEmpty(textBoxFullName.Text)) { throw new Exception("Заполните данные сотрудника"); } treeList.AddTreeListObject(new Employee(textBoxDepartment.Text, textBoxJobTitle.Text, textBoxFullName.Text)); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void clearTreeList_Click(object sender, EventArgs e) { treeList.Clear(); } private void getObject_Click(object sender, EventArgs e) { try { Employee? employee = treeList.GetSelectedObject(); if (employee == null) { return; } textBoxDepartment.Text = employee.Department; textBoxJobTitle.Text = employee.JobTitle; textBoxFullName.Text = employee.FullName; } catch (Exception ex) { MessageBox.Show(ex.Message); } } #endregion #region test4 private void chooseImage_Click(object sender, EventArgs e) { try { using OpenFileDialog openFileDialog = new OpenFileDialog { Multiselect = true, Filter = "Изображения|*.jpg;*.jpeg;*.png;*.bmp" }; if (openFileDialog.ShowDialog() == DialogResult.OK) { selectedImages.Clear(); listBoxImages.Items.Clear(); foreach (string filePath in openFileDialog.FileNames) { selectedImages.Add(File.ReadAllBytes(filePath)); listBoxImages.Items.Add(Path.GetFileName(filePath)); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void createPdfImages_Click(object sender, EventArgs e) { try { if (selectedImages.Count == 0) { MessageBox.Show("Выберите хотя бы одно изображение!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var info = new PdfImageInfo { FileName = "C://Users//user//PdfWithImage.pdf", Title = "Ульяновск", Images = selectedImages }; pdfImage.CreatePdf(info); MessageBox.Show("PDF успешно создан!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message); } } #endregion #region test5 private void createTable_Click(object sender, EventArgs e) { try { List headers = new List { new TreeNode { Text = "ФИО", Tag = "FullName", }, new TreeNode("Корпоративные данные", new TreeNode[] { new TreeNode { Text = "Отдел", Tag = "Department" }, new TreeNode { Text = "Должность", Tag = "JobTitle" } }) }; List data = new List { new Employee("Отдел по животным", "Глава отдела", "Артём"), new Employee("Отдел по животным", "Зам", "Ростислав"), new Employee("Отдел по автохламу", "Зам", "Нияз") }; var info = new PdfTableInfo { FileName = "C://Users//user//PdfWithTable.pdf", Title = "Сотрудники", Headers = headers, Data = data }; pdfTable.CreatePdf(info); MessageBox.Show("PDF успешно создан!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message); } } #endregion #region test6 private void createDiagram_Click(object sender, EventArgs e) { try { pdfDiagram.CreateDiagram(new PdfDiagramInfo { FileName = "C://Users//user//PdfWithPieDiagram.pdf", Title = "Документ с диаграммой", ChartTitle = "Распределение долей рынка настольных операцинных систем, август 2024", LegendLocation = ComponentLibrary1.office_package.HelperEnums.PdfDiagramLegendLocation.Bottom, Series = new ComponentLibrary1.office_package.HelperModels.PdfDiagramSeries { SeriesName = "DesctopOperatingSystemAugust2024", Data = new Dictionary { { "Windows", 71.5 }, { "OS X", 15.5 }, { "Linux", 4.5 }, { "Others", 8.5 }, } } }); MessageBox.Show("PDF документ с диаграммой создан!", "Успех"); } catch (Exception ex) { MessageBox.Show($"Ошибка: {ex.Message}"); } } #endregion } }