Pysar.Viewer
0.1.34
dotnet add package Pysar.Viewer --version 0.1.34
NuGet\Install-Package Pysar.Viewer -Version 0.1.34
<PackageReference Include="Pysar.Viewer" Version="0.1.34" />
<PackageVersion Include="Pysar.Viewer" Version="0.1.34" />
<PackageReference Include="Pysar.Viewer" />
paket add Pysar.Viewer --version 0.1.34
#r "nuget: Pysar.Viewer, 0.1.34"
#:package Pysar.Viewer@0.1.34
#addin nuget:?package=Pysar.Viewer&version=0.1.34
#tool nuget:?package=Pysar.Viewer&version=0.1.34
Pysar.Viewer
Framework-neutral viewer logic for Pysar, a cross-platform
report engine for .NET: page geometry, zoom, tile planning and the tile cache. It depends on the
core Pysar package and is the shared core behind every platform-specific ReportView control.
A built report renders as scrollable, zoomable pages, rasterised one visible tile at a time. Only the visible region is rasterised, so memory follows the size of the viewport rather than the zoom level.
This package is not referenced directly — it arrives transitively with a platform package, which supplies the actual UI control:
| Platform package | Control |
|---|---|
Pysar.Maui |
.NET MAUI ReportView |
Pysar.Avalonia |
Avalonia ReportView |
Pysar.Wpf |
WPF ReportView (Windows only) |
Pysar.Blazor |
Blazor <ReportView> component |
The properties are the same on every platform. PageBorderColor and PageBorderThickness frame each
page, which is what tells a page from the surface behind it when both are light; the line is drawn
outside the paper, so the report itself is never covered by it. PageSpacing is the gap between two
pages, in device independent units — it does not scale with the zoom, so the gap looks the same
however far in the reader is.
A fit mode resolves to a factor only the control knows, so bind EffectiveZoom to show the
percentage: Zoom holds what was asked for, not what the view settled on.
Documentation
License
MIT — see LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- HarfBuzzSharp (>= 14.2.0)
- HarfBuzzSharp.NativeAssets.Linux (>= 14.2.0)
- HarfBuzzSharp.NativeAssets.macOS (>= 14.2.0)
- HarfBuzzSharp.NativeAssets.Win32 (>= 14.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
- Pysar (>= 0.1.34)
- SkiaSharp (>= 4.151.2)
- SkiaSharp.NativeAssets.Linux (>= 4.151.2)
- SkiaSharp.NativeAssets.macOS (>= 4.151.2)
- SkiaSharp.NativeAssets.Win32 (>= 4.151.2)
- Svg.Skia (>= 5.2.3)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Pysar.Viewer:
| Package | Downloads |
|---|---|
|
Pysar.Wpf
WPF integration for Pysar: application asset access, font registration, scrollable zoomable report view, and printing. |
|
|
Pysar.Blazor
A Blazor WebAssembly report viewer for Pysar. |
|
|
Pysar.Maui
.NET MAUI integration for Pysar: application-package asset access, font registration, PDF export and sharing. |
|
|
Pysar.Avalonia
Avalonia integration for Pysar: application asset access, font registration and a scrollable, zoomable report view. |
GitHub repositories
This package is not used by any popular GitHub repositories.
### Added
- `DefaultReportPlatformHandler` (`Pysar.Skia`): a ready-made `IReportPlatformHandler` for hosts without a UI framework - console and worker applications, server-side rendering, and the design-time preview. Pass a directory to its constructor when assets do not sit next to the binaries.
- `LocalFileSystem` (`Pysar.Skia`): an `IFileSystem`/`ISyncFileSystem` that reads report assets from disk. Relative paths resolve against the application's deployment directory, rooted paths are read as given, and a missing asset reads as `null` instead of throwing.
### Fixed
- Asset paths now resolve against `AppContext.BaseDirectory` rather than the executing binary, so images and fonts are found when the assembly is loaded by a host such as `dotnet app.dll` or the design-time preview.
### Changed
- Rounded-border rendering builds its ring path with `SKPathBuilder`, matching the current SkiaSharp path API.
- Docs: quick start and README now describe `DefaultReportPlatformHandler` as the default, with the UI-framework handlers (`AvaloniaReportPlatformHandler`, `WpfReportPlatformHandler`, `MauiReportPlatformHandler`, `WasmPlatformHandler`) registered by `UsePysar`/`AddPysar`.