SerializerWriter.Write Method (DocumentPaginator, PrintTicket)


When overridden in a derived class, synchronously writes paginated content together with an associated PrintTicket to the serialization Stream.

Namespace:   System.Windows.Documents.Serialization
Assembly:  PresentationFramework (in PresentationFramework.dll)

abstract Write : 
        documentPaginator:DocumentPaginator *
        printTicket:PrintTicket -> unit


Type: System.Windows.Documents.DocumentPaginator

The document paginator that defines the content to write to the serialization Stream.

Type: System.Printing.PrintTicket

The default print preferences for the documentPaginator content.

printTicket can be null if there are no preferred print settings.

This method does not validate or modify the given printTicket for a particular PrintQueue. If needed, use the PrintQueue.MergeAndValidatePrintTicket method to create a PrintQueue-specific PrintTicket that is valid for a given printer.

The output Stream of the write operation is normally specified as a parameter to the constructor of the derived class that implements SerializerWriter.

The following example shows the use of the Write(DocumentPaginator, PrintTicket) method to serialize a flow document to an output file.

// Create a SerializerProvider for accessing plug-in serializers.
SerializerProvider serializerProvider = new SerializerProvider();

// Locate the serializer that matches the fileName extension.
SerializerDescriptor selectedPlugIn = null;
foreach ( SerializerDescriptor serializerDescriptor in
                serializerProvider.InstalledSerializers )
    if ( serializerDescriptor.IsLoadable &&
         fileName.EndsWith(serializerDescriptor.DefaultFileExtension) )
    {   // The plug-in serializer and fileName extensions match.
        selectedPlugIn = serializerDescriptor;
        break; // foreach

// If a match for a plug-in serializer was found,
// use it to output and store the document.
if (selectedPlugIn != null)
    Stream package = File.Create(fileName);
    SerializerWriter serializerWriter =
    IDocumentPaginatorSource idoc =
        flowDocument as IDocumentPaginatorSource;
    serializerWriter.Write(idoc.DocumentPaginator, null);
    return true;

.NET Framework
Available since 3.0
Return to top