All projects

Cross-platform print pipeline

PrintingTools

Treat print layout, preview, and platform submission as one portable application service.

StatusActive
TierMaintained
DomainAvalonia
Repositorywieslawsoltes/PrintingTools

A .NET printing toolkit with discovery, dialogs, preview, pagination, layout, PDF/vector rendering, job submission, and Windows, macOS, and Linux adapters.

PrintingTools separates portable print documents, tickets, pagination, layout, preview, rendering, diagnostics, and jobs from operating-system adapters. Avalonia applications can opt into ready-made UI or drive the same services headlessly.

01

Preview and print sessions

02

N-up, booklet, and poster layout

03

Windows, macOS, and Linux adapters

04

Managed PDF and headless fallbacks

Where it fits.

  • Avalonia applications with print and preview workflows
  • Reporting and document tools
  • Teams needing headless PDF and cross-platform print diagnostics
Windows

Win32 / XPS

macOS

AppKit / Quartz

Linux

CUPS / GTK / portals

Headless

Managed PDF fallback

Real output,
not a mockup.

PrintingTools GitHub repository preview
The repository includes the portable API, Avalonia preview UI, native adapters, documentation, and platform-specific verification harnesses.

Clear layers.
Replaceable seams.

01

Core

Portable documents, tickets, layout, pagination, preview, rendering, and diagnostics.

02

UI

Avalonia page setup and preview windows consume portable models.

03

Adapters

Windows, macOS, and Linux packages bind native queues, dialogs, and submission.

04

Harnesses

Headless and sandbox samples retain PDFs and metrics for CI.

6 packagescore, UI, and platforms
4 layoutsstandard, N-up, booklet, poster
3 harnessescross-platform CI
LiveGitHub metadata

One repository.
Multiple serious systems.

Explore the focused capabilities, their package boundaries, architecture, installation, and smallest useful example.

From package
to first frame.

Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.

01 · Install
Terminal
dotnet add package PrintingTools
dotnet add package PrintingTools.UI
02 · Use · csharp
QuickStart.cs
AppBuilder.Configure<App>()
.UsePlatformDetect()
.UsePrintingTools(options => options.EnablePreview = true);

Start focused.
Compose as needed.

The repository is the source of truth.

Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.

NativeMessageBox

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…