Avae.Printables 3.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Avae.Printables --version 3.0.1
                    
NuGet\Install-Package Avae.Printables -Version 3.0.1
                    
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.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Avae.Printables" Version="3.0.1" />
                    
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.1
                    
#r "nuget: Avae.Printables, 3.0.1"
                    
#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.1
                    
#: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.1
                    
Install as a Cake Addin
#tool nuget:?package=Avae.Printables&version=3.0.1
                    
Install as a Cake Tool

Avae.Printables

A crossplatform library for printing. (Supported formats Png,Pdf,Html,Gif,Jpeg,Bmp,Ico)

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 a file

using Avae.Printables;

Printable.PrintAsync("C://Temp/test.pdf");

Example: Print MainView

using Avae.Printables;

Printable.PrintAsync();

Example: Print visuals

using Avae.Printables;

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.Xps

Printing for avalonia

Avae.Printables.Docx

Printing for avalonia

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.7 156 11/1/2025
3.0.6 188 10/31/2025
3.0.5 166 10/31/2025
3.0.4 216 10/30/2025
3.0.3 198 10/30/2025
3.0.2 195 10/30/2025
3.0.1 203 10/30/2025
3.0.0 209 10/29/2025
2.0.1 210 10/28/2025
2.0.0 188 10/28/2025
1.0.29 185 10/27/2025
1.0.28 198 10/27/2025
1.0.27 194 10/27/2025
1.0.26 185 10/27/2025
1.0.25 189 10/27/2025
1.0.24 182 10/27/2025
1.0.22 182 10/27/2025
1.0.21 185 10/26/2025
1.0.20 180 10/26/2025
1.0.19 191 10/26/2025
1.0.18 192 10/26/2025
1.0.17 190 10/26/2025
1.0.16 193 10/26/2025
1.0.15 182 10/26/2025
1.0.14 190 10/26/2025
1.0.13 174 10/26/2025
1.0.12 179 10/26/2025
1.0.11 177 10/26/2025
1.0.10 140 10/25/2025
1.0.9 144 10/25/2025
1.0.8 148 10/25/2025
1.0.7 186 10/22/2025
1.0.6 189 10/22/2025
1.0.5 174 10/22/2025
1.0.4 183 10/21/2025
1.0.3 175 10/21/2025
1.0.2 178 10/20/2025
1.0.1 184 10/20/2025
1.0.0 178 10/19/2025