Export (0) Print
Expand All

SerializerWriter.Write Method (Visual, PrintTicket)

When overridden in a derived class, synchronously writes a given Visual element together with an associated PrintTicket to the serialization Stream.

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

'Declaration
Public MustOverride Sub Write ( _
	visual As Visual, _
	printTicket As PrintTicket _
)

Parameters

visual
Type: System.Windows.Media.Visual

The Visual element to write to the serialization Stream.

printTicket
Type: System.Printing.PrintTicket

The default print preferences for the visual element.

printTicket can be Nothing 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
Show:
© 2015 Microsoft