Skip to main content

PdfSerializer Class

Definition

Assembly:Avalonia.Controls.Documents.Serialization.Pdf
Package:Avalonia.Controls.Documents.Serialization.Pdf

Write-only serializer that exports documents as PDF.

public class PdfSerializer

Inheritance: object -> PdfSerializer

Implements: IDocumentSerializer

Remarks

PDF is an export-only format for this library: Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer.Deserialize(System.IO.Stream,System.Threading.CancellationToken) always throws NotSupportedException and Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer.CanDeserialize(System.IO.Stream) always returns .

The exporter is UI-free. It consumes the Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot directly and never creates controls or requires a dispatcher, so serialization can run on any thread. It does require an initialized Avalonia platform (font manager and text shaper) once content layout is involved; a bare console process without Avalonia cannot export.

This serializer is thread-safe for concurrent operations.

Constructors

PdfSerializer Constructor

Initializes a new instance of Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer.

public PdfSerializer(Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializerOptions options)

Parameters

options Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializerOptions

PDF serialization options; defaults are used when .

Remarks

Shared serializer options travel on Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializerOptions.Document: new PdfSerializer(new PdfSerializerOptions { Document = shared }).

Methods

CanDeserialize Method

public bool CanDeserialize(System.IO.Stream stream)

Parameters

stream System.IO.Stream

Returns

bool

Always ; PDF reading is not supported.

Deserialize Method

public Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot Deserialize(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)

Parameters

stream System.IO.Stream

cancellationToken System.Threading.CancellationToken

Returns

Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot

Exceptions

DeserializeAsync Method

Runs Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer.Deserialize(System.IO.Stream,System.Threading.CancellationToken) on a pool thread.

public System.Threading.Tasks.Task<Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot> DeserializeAsync(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)

Parameters

stream System.IO.Stream

The stream to read from.

cancellationToken System.Threading.CancellationToken

Cancellation token.

Returns

System.Threading.Tasks.Task<Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot>

The deserialized snapshot.

Remarks

A thread-offload convenience, not asynchronous I/O: no format here reads asynchronously. Where you are already off the UI thread, call Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer.Deserialize(System.IO.Stream,System.Threading.CancellationToken) and keep the thread you are on.

Serialize Method

public void Serialize(Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot snapshot, System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)

Parameters

snapshot Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot

stream System.IO.Stream

cancellationToken System.Threading.CancellationToken

SerializeAsync Method

Runs Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer.Serialize(Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot,System.IO.Stream,System.Threading.CancellationToken) on a pool thread.

public System.Threading.Tasks.Task SerializeAsync(Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot snapshot, System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)

Parameters

snapshot Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot

The snapshot to serialize.

stream System.IO.Stream

The stream to write to.

cancellationToken System.Threading.CancellationToken

Cancellation token.

Returns

System.Threading.Tasks.Task

Remarks

A thread-offload convenience, not asynchronous I/O. The snapshot is already detached from the document, so the work needs no UI thread either way.

Properties

NameDescription
CanReadNo summary available.
CanWriteNo summary available.
FileExtensionNo summary available.
FormatNameNo summary available.
MimeTypeNo summary available.

CanRead Property

public bool CanRead { get; set; }

CanWrite Property

public bool CanWrite { get; set; }

FileExtension Property

public string FileExtension { get; set; }

FormatName Property

public string FormatName { get; set; }

MimeType Property

public string MimeType { get; set; }