Avae.Printables 3.0.0

dotnet add package Avae.Printables --version 3.0.0
                    
NuGet\Install-Package Avae.Printables -Version 3.0.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="Avae.Printables" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Avae.Printables" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Avae.Printables" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Avae.Printables --version 3.0.0
                    
#r "nuget: Avae.Printables, 3.0.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.
#:package Avae.Printables@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Avae.Printables&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Avae.Printables&version=3.0.0
                    
Install as a Cake Tool

Avae.Printables

A crossplatform library for printing.

Features

Cross-Platform : Leverage APIs adapted for multiple environments.

MIT Licensed: Freely use, modify, and distribute under the permissive MIT License.

Getting Started

Follow these steps to integrate Avae.Printables into your Avalonia project.

Prerequisites

An Avalonia project set up with .NET.

Installation

Add Nuget Avae.Printables to Your Shared Project

Configuration

Enable Printables.

 using Avae.Printables;
 public static AppBuilder BuildAvaloniaApp()
        => AppBuilder.Configure<App>()
            .UsePrintables()
            .UsePlatformDetect()
            .WithInterFont()
            .LogToTrace();

Android

protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
{
    return base.CustomizeAppBuilder(builder)
        .UsePrintables(this, this)
        .WithInterFont()
        .UseReactiveUI();
}

iOS

protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
{
    return base.CustomizeAppBuilder(builder)
        .UsePrintables()
        .WithInterFont()
        .UseReactiveUI();
}

Browser (Please add nuget package Avae.Printables to project to make sure printing.js in wwwroot folder)

private static Task Main(string[] args) => BuildAvaloniaApp()
            .WithInterFont()
             .StartBrowserAppAsync("out").ContinueWith(async t =>
             {
                 await JSHost.ImportAsync("printing", "/printing.js");
             });

    public static AppBuilder BuildAvaloniaApp()
        => AppBuilder.Configure<App>()
            .UsePrintables();

Linux (the following workflow is required)

https://github.com/lytico/GtkSharp.Workload

Example: Print MainView

using Avae.Printable;

Printables.PrintAsync();

Example: Print visuals

using Avae.Printable;

var visual = Application.Current.ApplicationLifetime
            is ISingleViewApplicationLifetime singleViewApplicationLifetime ? singleViewApplicationLifetime.MainView :
            (Application.Current.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime)?.MainWindow;
        
var panel = new Grid()
{
    HorizontalAlignment = Avalonia.Layout.HorizontalAlignment.Stretch,
    VerticalAlignment = Avalonia.Layout.VerticalAlignment.Stretch
};
panel.RowDefinitions.Add(new RowDefinition(GridLength.Star));
panel.Children.Add(new TextBlock()
{
    Text = "Hello",
    FontSize = 60,
    HorizontalAlignment = Avalonia.Layout.HorizontalAlignment.Center,
    VerticalAlignment = Avalonia.Layout.VerticalAlignment.Center
});

await Printable.PrintAsync([visual, panel]);
   

Built With

This package builds upon the excellent work of:

AvaloniaUI

SkiaSharp

License

Avae.Printables is licensed under the MIT License.

Contributing

Contributions are welcome! Please submit issues or pull requests to the GitHub repository. Ensure your code follows the project�s coding standards.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-android34.0 is compatible.  net8.0-browser was computed.  net8.0-browser1.0 is compatible.  net8.0-gtk1.0 is compatible.  net8.0-ios was computed.  net8.0-ios18.0 is compatible.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-macos15.0 is compatible.  net8.0-tvos was computed.  net8.0-windows was computed.  net8.0-windows10.0.19041 is compatible.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Avae.Printables:

Package Downloads
Avae.Printables.Docx

Printing for avalonia

Avae.Printables.Xps

Printing for avalonia

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0 0 10/29/2025
2.0.1 32 10/28/2025
2.0.0 47 10/28/2025
1.0.29 78 10/27/2025
1.0.28 80 10/27/2025
1.0.27 81 10/27/2025
1.0.26 77 10/27/2025
1.0.25 78 10/27/2025
1.0.24 74 10/27/2025
1.0.22 75 10/27/2025
1.0.21 78 10/26/2025
1.0.20 74 10/26/2025
1.0.19 78 10/26/2025
1.0.18 81 10/26/2025
1.0.17 77 10/26/2025
1.0.16 81 10/26/2025
1.0.15 80 10/26/2025
1.0.14 82 10/26/2025
1.0.13 75 10/26/2025
1.0.12 75 10/26/2025
1.0.11 78 10/26/2025
1.0.10 76 10/25/2025
1.0.9 78 10/25/2025
1.0.8 81 10/25/2025
1.0.7 157 10/22/2025
1.0.6 155 10/22/2025
1.0.5 149 10/22/2025
1.0.4 154 10/21/2025
1.0.3 150 10/21/2025
1.0.2 146 10/20/2025
1.0.1 151 10/20/2025
1.0.0 148 10/19/2025