PIHelperSh.PdfCreator 1.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package PIHelperSh.PdfCreator --version 1.1.0                
NuGet\Install-Package PIHelperSh.PdfCreator -Version 1.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PIHelperSh.PdfCreator" Version="1.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PIHelperSh.PdfCreator --version 1.1.0                
#r "nuget: PIHelperSh.PdfCreator, 1.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PIHelperSh.PdfCreator as a Cake Addin
#addin nuget:?package=PIHelperSh.PdfCreator&version=1.1.0

// Install PIHelperSh.PdfCreator as a Cake Tool
#tool nuget:?package=PIHelperSh.PdfCreator&version=1.1.0                

Библиотека PDF

Данная библиотека является надстройкой над MigraDoc и упрощает работу с PDF в контексте ряда операций. Основным интерфейсом системы является IPdfCreator. На данный момент имеется единственная реализация - PdfCreator

Основные методы IPdfCreator

  • AddParagraph(PdfParagraph paragraph) данный метод предназначен для добавления на лист PDF параграфа текста. Принимает стандартную модель параграфа (о ней позже)
  • AddList(PdfList List) данный метод предназначен для добавления на лист PDF маркированного списка. Принимает стандартныую модель списка ( о ней позже). Поддерживается не более 3-х уровней!
  • AddChart(PdfPieChartModel pieChart) данный метод предназначен для добавления на лист PDF круговой диаграммы. Принимает модель диаграммы (о ней позже)
  • AddImage(PdfImage image) данный метод предназначен для добавления на лист изображения. Принимает стандартную модель (о ней позже).
  • MemoryStream SavePdf() данный метод сохраняет PDF документ и возвращает поток данных файла.
  • SavePdf(string filename) данный метод сохраняет PDF документ на диске по пути из filename
  • AddTable<T>(PdfTable<T> header, bool rowHeaded = false) данный метод позволяет добавлять на лист таблицу с шапкой и значениями. rowHeaded позволяет описать будет ли шапка в строках или в столбцах.

Основные модели

PdfParagraph

Модель имеет следующие поля:

  • PdfMargin MarginAfter - Отступ после параграфа. По умолчанию значение Medium
  • PdfAlignmentType ParagraphAlignment - Выравнивание параграфа. По умолчанию значение Left
  • PdfStyleType Style - Стиль параграфа. По сути объединение шрифта, жирности и отступов. По умолчанию - Basic. На данный момент имеются следующие (В дальнейшем планируется добавить возможность добавлять свои стили):
    • Basic: Times New Roman 14
    • Title: Times New Roman 18 жирный
    • Bold: Times New Roman 14 жирный
    • ListLevel1: Times New Roman 14 отступ 1.5cm
    • ListLevel2: Times New Roman 14 отступ 3.0cm
    • ListLevel3: Times New Roman 14 отступ 4.5cm
  • string Text - Текст параграфа

PdfList

Данная модель позволяет создать многоуровневый список.

  • PdfMargin MarginAfter - подробно описан ранее
  • List<IPdfElement> Content - элементы списка. Это могут быть как параграфы, так и другие списки

PdfPieChartModel

Данная модель позволяет добавлять диаграмму на лист

  • double Width - Ширина диаграммы на листе. По умолчанию 16.
  • double Height - Высота диаграммы на листе. По умолчанию 12.
  • string ChartName - Надпись над диаграммой. По сути её имя.
  • PdfStyleType HeaderStyle - Стиль заголовка диаграммы.
  • PdfAlignmentType HeaderAlignment - Выравнивание заголовка диаграммы.
  • PdfLegendPosition LegendPosition - Местоположение легенды диаграммы.
  • List<PdfPieChartData> DataSet - Набор данных для диаграммы

PdfPieChartData:

  • string DisplayName - Имя для значения
  • double Value - Значение
  • Color? Color - Если нужно, цвет для значения

PdfImage

Моделька для вывода изображения на лист. Имеет поля:

  • MigradocImage Image - само изображение (обёртка)
  • int? Width - Ширина изображения (если null - по размеру изображения)
  • int? Height - Высота сообщения (если null - по соотношению сторон к длине)
  • PdfAlignmentType ImageAlignment - Выравнивание изображения (по умолчанию - Left)
  • PdfMargin MarginAfter - Отступ после. По умолчанию Medium

MigradocImage

Обёртка, предназначенная для вывода изображений в MigraDock Объект создаётся только с помощью статических методов:

  • CreateFromPath(string path) - создаём из картинки, расположенной на компьютере по пути
  • MigradocImage CreateFromBase64(string base64) - создаём из base64 строки, в которой зашифрована картинка
  • MigradocImage CreateFromStream(Stream stream) - создаём из потока картинки

PdfTable

Сейчас будет немного сложно. Данная модель предназначена для создания таблицы из коллекции объектов определённого типа, при этом шапка таблицы поддерживает 2 уровня(то есть, ряд столбцов могут быть сгруппированы общим заголовком). Поля:

  • List<IPdfColumnItem>? Header - модельки заголовков таблицы
  • PdfStyleType HeaderStyle - Стиль заголовка таблицы. По умолчанию - Bold
  • PdfAlignmentType HeaderHorisontalAlignment - Выравнивание текста внутри заголовков. По умолчанию - по центру
  • PdfStyleType RecordStyle - Стиль текста записей строк таблицы. По умолчанию - Basic
  • PdfAlignmentType RecordHorisontalAlignment - Выравнивае записей строк таблицы внутри ячейки. По умолчанию - Left
  • List<T> Records - список записей, из которых формируем таблицу

PdfTableColumn

Столбец таблицы:

  • string? Title - заголовок
  • float? Size - ширина/высота ячейки
  • string PropertyName - Имя свойства, которое будет заполнять данный столбец/строку

PdfTableColumnGroup

Сгруппированные столбцы/строки заголовка Поля:

  • string? Title - заголовок этой группы
  • List<PdfTableColumn> InnerColumns - внутренние столбцы/строки
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.4 104 9/8/2024
1.1.3 96 9/8/2024
1.1.2 133 9/8/2024
1.1.1 109 8/28/2024
1.1.0 90 8/28/2024
1.0.0 121 8/22/2024