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)

public:
virtual void Write(
	DocumentPaginator^ documentPaginator, 
	PrintTicket^ printTicket
) abstract

Parameters

documentPaginator
Type: System.Windows.Documents::DocumentPaginator

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

printTicket
Type: System.Printing::PrintTicket

The default print preferences for the documentPaginator content.

printTicket can be nullptr 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 =
        serializerProvider.CreateSerializerWriter(selectedPlugIn,
                                                  package);
    IDocumentPaginatorSource idoc =
        flowDocument as IDocumentPaginatorSource;
    serializerWriter.Write(idoc.DocumentPaginator, null);
    package.Close();
    return true;
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft