NETReporter.Abstractions 3.4.2

NETReporter.Abstractions

Společná rozhraní a typy knihovny NETReporter. Balíček nemá žádné závislosti na renderovacích knihovnách (QuestPDF, Roslyn, OxyPlot, ZXing), takže ho může používat kód, který report jen zadává, bez toho, aby tahal celou knihovnu.

Obsahuje:

  • IReportRenderer – vykreslení reportu z proudů šablony a dat (PDF, SVG, HTML, JSON, WebP, PNG, JPEG, stránky po jedné),
  • ITemplateTools – validace šablony a dat, datový kontrakt (TemplateDataContract) a ukázková data,
  • RenderOptions a PDF volby (PdfConformance, PdfAttachment, PdfEncryption),
  • diagnostiky (Diagnostic, BindingDiagnostic, DiagnosticCodes) a pozorovatele pipeline (IReportPipelineObserver).

Implementace jsou dvě a nahrazují se registrací v DI:

Balíček Implementace Kde se renderuje
NETReporter ReportRenderer, TemplateTools v procesu aplikace
NETReporter.Client ReportServerRenderer, ReportServerTemplateTools na serveru ReportServer, přihlášení API tokenem

Typy zůstaly ve svých jmenných prostorech (NetReporter, NetReporter.Common, NetReporter.Bindings …) a knihovna NETReporter je přeposílá (TypeForwardedTo), takže stávající kód se nemění.

Balíčky NETReporter, NETReporter.Abstractions a NETReporter.Client se vydávají společně se stejnou verzí. Seznam změn je v souboru CHANGELOG.md v balíčku.

Požadavky: .NET 10.

Showing the top 20 packages that depend on NETReporter.Abstractions.

Packages Downloads
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
62
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
9
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
8
NETReporter.Client
Tenký klient pro ReportServer: stejné rozhraní jako knihovna NETReporter (IReportRenderer, ITemplateTools), ale report se vykreslí na serveru a klient se přihlašuje API tokenem. Bez QuestPDF, Roslynu a dalších těžkých závislostí.
8
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
6
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
5
NETReporter.Client
Tenký klient pro ReportServer: stejné rozhraní jako knihovna NETReporter (IReportRenderer, ITemplateTools), ale report se vykreslí na serveru a klient se přihlašuje API tokenem. Bez QuestPDF, Roslynu a dalších těžkých závislostí.
5
NETReporter.Client
Tenký klient pro ReportServer: stejné rozhraní jako knihovna NETReporter (IReportRenderer, ITemplateTools), ale report se vykreslí na serveru a klient se přihlašuje API tokenem. Bez QuestPDF, Roslynu a dalších těžkých závislostí.
4

- Template editor (ToDo #191): quick search in the panel *Struktura*. The field *Hledat ve stromu* above the tree (or Ctrl+F outside text fields; the JSON editor keeps its own search) filters the tree while typing: it shows the matching nodes with their path from the root and highlights the match. It searches the node type, the label, the `id`, the whole text (`text`, the spans of a paragraph, the chart title), the named style (`styleRef`, `styles`) and the table columns (header and key), ignoring case and diacritics (`cast` finds `Část`); a match the tree does not show is listed after the node (`id: …`, `styl: …`, `sloupec: …`). Enter or ↓ selects the next match, Shift+Enter or ↑ the previous one (the selection works like a click in the tree: properties, preview, JSON), Esc clears the search and restores the tree as it was, collapsed branches included. The search is only a view: it does not change the template, it is not an undo step, and dragging nodes is off while it is active. The command palette has *Hledat ve stromu*. - Template editor fix (performance): a long template appeared in the tree node by node for tens of seconds (721 nodes took 21 s). The tree was expanded by `ExpandAllAsync` after every render of the page, and the TreeView expands the nodes one by one with an animation. The nodes are now expanded in the data of the tree and without the animation (721 nodes in about 0.3 s, 1,800 nodes in about 0.7 s including the analysis), and the tree is a separate component (`StructureTree`) that renders only when the tree, the errors, the selection or the search change, not with every render of the page. Branches the user collapsed stay collapsed after an edit of the template; a node selected outside the tree (preview, diagnostics, palette) inside a collapsed branch expands it. - Styles and `Line` (ToDo #192): the style of a border line and of a line. The border objects (`border`, `borderTop`, `borderRight`, `borderBottom`, `borderLeft`) have the new member `lineStyle` and the node `Line` the new property `lineStyle` (the new enum `LineStyle`: `Solid` (default), `Dashed`, `Dotted`, `Double`; validated like the other enums, `NRP015`). Every side can have its own style. The dash length follows the width: `Dashed` is a dash of 3× and a gap of 2× the width (at least 3 and 2 pt), `Dotted` squares of the width with a gap of the width (at least 1 pt), `Double` two lines of a third of the width with a gap of a third, so it takes the same space as a solid line. QuestPDF draws only solid borders, so the PDF draws a dashed, dotted or double side with an SVG layer over the content (`LineStyles` in the QuestPDF renderer): it lies like the solid border (centered on the edge, it takes no space in the layout), four equal sides are one rectangle, and the layer is repeated on every page a broken box spans. The SVG and image outputs come from the same document. A border with solid sides only is drawn as before, so existing PDFs do not change. The `Line` uses the dash pattern of QuestPDF (`LineDashPattern`). The HTML output writes the CSS `border-style`, the JSON output has `lineStyle` in the border and in the attributes of `Line`. The template editor offers `lineStyle` in the property grid (the style of a node, the named styles, the `Line` node) from the schema; the assistant cheat sheets mention it and the schema digest of the styles lists the enum values of the nested members. Celý seznam změn: CHANGELOG.md v balíčku a https://dev.azure.com/advsoft/Knihovny/_git/NetReporter?path=/src/NetReporter/CHANGELOG.md

.NET 10.0

  • No dependencies.

Version Downloads Last updated
3.9.2 4 10/28/2026
3.9.1 1 10/27/2026
3.9.0 6 10/20/2026
3.8.1 6 10/19/2026
3.8.0 4 10/19/2026
3.7.0 4 10/19/2026
3.6.0 5 10/17/2026
3.5.1 62 10/15/2026
3.5.0 4 10/15/2026
3.4.2 4 10/15/2026
3.4.0 6 10/12/2026
3.3.0 4 10/11/2026
3.2.2 4 10/10/2026
3.2.1 4 10/10/2026
3.2.0 5 10/10/2026
3.1.1 5 10/09/2026
3.1.0 4 10/09/2026
3.0.1 8 10/08/2026
3.0.0 4 10/08/2026
2.2.1 5 10/05/2026
2.2.0 6 10/05/2026
2.1.0 8 10/04/2026
2.0.1 7 10/04/2026
2.0.0 5 10/03/2026
1.7.0 4 10/03/2026