LABWORK-4 #2
@ -1,36 +0,0 @@
|
|||||||
namespace Cop.Borovkov.Var3.Components
|
|
||||||
{
|
|
||||||
partial class CustomPdfTable
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Обязательная переменная конструктора.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.IContainer components = null;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Освободить все используемые ресурсы.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
|
|
||||||
protected override void Dispose(bool disposing)
|
|
||||||
{
|
|
||||||
if (disposing && (components != null))
|
|
||||||
{
|
|
||||||
components.Dispose();
|
|
||||||
}
|
|
||||||
base.Dispose(disposing);
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Код, автоматически созданный конструктором компонентов
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Требуемый метод для поддержки конструктора — не изменяйте
|
|
||||||
/// содержимое этого метода с помощью редактора кода.
|
|
||||||
/// </summary>
|
|
||||||
private void InitializeComponent()
|
|
||||||
{
|
|
||||||
components = new System.ComponentModel.Container();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,92 +0,0 @@
|
|||||||
using Cop.Borovkov.Var3.Models;
|
|
||||||
using PIHelperSh.PdfCreator;
|
|
||||||
using PIHelperSh.PdfCreator.Enums;
|
|
||||||
using PIHelperSh.PdfCreator.Interfaces;
|
|
||||||
using PIHelperSh.PdfCreator.Models.TableModels;
|
|
||||||
using System.ComponentModel;
|
|
||||||
|
|
||||||
namespace Cop.Borovkov.Var3.Components
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Компонент для сохранения таблицы в пдф
|
|
||||||
/// </summary>
|
|
||||||
public partial class CustomPdfTable : Component
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// </summary>
|
|
||||||
public CustomPdfTable()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="container"></param>
|
|
||||||
public CustomPdfTable(IContainer container)
|
|
||||||
{
|
|
||||||
container.Add(this);
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Сохранить набор таблиц в пдф
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="fileName"></param>
|
|
||||||
/// <param name="title"></param>
|
|
||||||
/// <param name="tables"></param>
|
|
||||||
public void SaveToPdf(PdfTableInfo tableInfo)
|
|
||||||
{
|
|
||||||
if (!tableInfo.Tables.Any())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
PdfCreator creator = new PdfCreator();
|
|
||||||
|
|
||||||
creator.AddParagraph(new()
|
|
||||||
{
|
|
||||||
Style = PdfStyleType.Title,
|
|
||||||
Text = tableInfo.Title,
|
|
||||||
MarginAfter = PdfMargin.Smal,
|
|
||||||
});
|
|
||||||
|
|
||||||
foreach (string[,] table in tableInfo.Tables)
|
|
||||||
{
|
|
||||||
List<PDFSimpleTableRow> rows = new();
|
|
||||||
|
|
||||||
for (int i = 0; i < table.GetLength(0); ++i)
|
|
||||||
{
|
|
||||||
PDFSimpleTableRow row = new();
|
|
||||||
|
|
||||||
for (int j = 0; j < table.GetLength(1); ++j)
|
|
||||||
{
|
|
||||||
row.Items.Add(table[i, j]);
|
|
||||||
}
|
|
||||||
|
|
||||||
rows.Add(row);
|
|
||||||
}
|
|
||||||
|
|
||||||
creator.AddSimpleTable(new()
|
|
||||||
{
|
|
||||||
Header = rows.First().Items.Select(item => new PdfTableColumn()
|
|
||||||
{
|
|
||||||
Title = item,
|
|
||||||
Size = 3,
|
|
||||||
} as IPdfColumnItem).ToList(),
|
|
||||||
Rows = rows.Skip(1).ToList(),
|
|
||||||
|
|
||||||
HeaderStyle = PdfStyleType.Basic,
|
|
||||||
HeaderHorizontalAlignment = PdfAlignmentType.Left,
|
|
||||||
RowHorizontalAlignment = PdfAlignmentType.Left,
|
|
||||||
});
|
|
||||||
|
|
||||||
creator.AddParagraph(new()
|
|
||||||
{
|
|
||||||
MarginAfter = PdfMargin.Smal,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
creator.SavePdf(tableInfo.FilePath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
namespace Cop.Borovkov.Var3.Models
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Параметры для создания таблиц в пдф
|
|
||||||
/// </summary>
|
|
||||||
public record PdfTableInfo
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// имя файла (включая путь до файла)
|
|
||||||
/// </summary>
|
|
||||||
public string FilePath { get; init; } = @"C:\pdfTable.pdf";
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// название документа(заголовок в документе)
|
|
||||||
/// </summary>
|
|
||||||
public string Title { get; init; } = "Таблица";
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Список таблиц
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<string[,]> Tables { get; init; } = [];
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
|
|
||||||
<Title>Библиотека PDF</Title>
|
|
||||||
<Authors>MaximK</Authors>
|
|
||||||
<Description>Небольшая надстройка для более удобной работы с PDF</Description>
|
|
||||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
|
||||||
<RepositoryUrl>https://github.com/KuzarinM/PIHelperSh/tree/master/PIHelperSh.PdfCreater</RepositoryUrl>
|
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
|
||||||
<PackageLicenseFile>LICENSE</PackageLicenseFile>
|
|
||||||
<Version>1.1.1</Version>
|
|
||||||
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="PdfSharp.MigraDoc.Standard" Version="1.51.15" />
|
|
||||||
<PackageReference Include="PIHelperSh.Core" Version="1.0.1" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
@ -4,7 +4,7 @@
|
|||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
public string Name { get; set; } = string.Empty;
|
public string Name { get; set; }
|
||||||
|
|
||||||
public int Age { get; set; }
|
public int Age { get; set; }
|
||||||
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
using TestCustomComponents.Forms;
|
|
||||||
|
|
||||||
namespace TestCustomComponents
|
namespace TestCustomComponents
|
||||||
{
|
{
|
||||||
internal static class Program
|
internal static class Program
|
||||||
|
Loading…
Reference in New Issue
Block a user