PdfSerializer Class
Definition
Write-only serializer that exports documents as PDF.
public class PdfSerializer
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
| Name | Description |
|---|---|
| PdfSerializer | Initializes a new instance of Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer. |
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
| Name | Description |
|---|---|
| CanDeserialize | No summary available. |
| Deserialize | No summary available. |
| DeserializeAsync | Runs Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer.Deserialize(System.IO.Stream,System.Threading.CancellationToken) on a pool thread. |
| Serialize | No summary available. |
| SerializeAsync | Runs Avalonia.Controls.Documents.Serialization.Pdf.PdfSerializer.Serialize(Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot,System.IO.Stream,System.Threading.CancellationToken) on a pool thread. |
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
| Name | Description |
|---|---|
| CanRead | No summary available. |
| CanWrite | No summary available. |
| FileExtension | No summary available. |
| FormatName | No summary available. |
| MimeType | No 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; }