IXpsFixedDocumentWriter Interface

 

Defines methods and properties for writing a FixedDocument.

Namespace:   System.Windows.Xps.Packaging
Assembly:  ReachFramework (in ReachFramework.dll)

public interface class IXpsFixedDocumentWriter : IDocumentStructureProvider

NameDescription
System_CAPS_pubpropertyDocumentNumber

Gets the zero-based position of the FixedDocument in the FixedDocumentSequence.

System_CAPS_pubpropertyPrintTicket

Sets default print options for the FixedDocument.

System_CAPS_pubpropertyUri

Gets the URI of the FixedDocument.

NameDescription
System_CAPS_pubmethodAddDocumentStructure()

Adds theDocumentStructure part of XML Paper Specification (XPS) to an XPS package.(Inherited from IDocumentStructureProvider.)

System_CAPS_pubmethodAddFixedPage()

Adds a new FixedPage to the FixedDocument.

System_CAPS_pubmethodAddThumbnail(XpsImageType)

Adds an XpsThumbnail image for the FixedDocument.

System_CAPS_pubmethodCommit()

Flushes and closes the FixedDocument writer.

The following example shows how to use the AddFixedDocument method in order to obtain a fixed-document writer for adding FixedPage content to an XpsDocument.

// ------------------------- AddPackageContent ----------------------------
/// <summary>
///   Adds a predefined set of content to a given XPS document.</summary>
/// <param name="xpsDocument">
///   The package to add the document content to.</param>
/// <param name="attachPrintTicket">
///   true to include a PrintTicket with the
///   document; otherwise, false.</param>
void AddPackageContent (XpsDocument^ xpsDocument, bool attachPrintTicket) 
{
   try
   {
      PrintTicket^ printTicket = GetPrintTicketFromPrinter();
      // PrintTicket is null, there is no need to attach one.
      if (printTicket == nullptr)
      {
         attachPrintTicket = false;
      }
      // Add a FixedDocumentSequence at the Package root
      IXpsFixedDocumentSequenceWriter^ documentSequenceWriter = xpsDocument->AddFixedDocumentSequence();

      // Add the 1st FixedDocument to the FixedDocumentSequence. - - - - -
      IXpsFixedDocumentWriter^ fixedDocumentWriter = documentSequenceWriter->AddFixedDocument();

      AddDocumentContent(fixedDocumentWriter);

      // Commit the 1st Document
      fixedDocumentWriter->Commit();

      // Add a 2nd FixedDocument to the FixedDocumentSequence. - - - - - -
      fixedDocumentWriter = documentSequenceWriter->AddFixedDocument();

      // Add content to the 2nd document.
      AddDocumentContent(fixedDocumentWriter);

      // If attaching PrintTickets, attach one at the FixedDocument level.
      if (attachPrintTicket)
      {
         fixedDocumentWriter->PrintTicket = printTicket;
      }
      // Commit the 2nd document.
      fixedDocumentWriter->Commit();

      // If attaching PrintTickets, attach one at
      // the package FixedDocumentSequence level.
      if (attachPrintTicket)
      {
         documentSequenceWriter->PrintTicket = printTicket;
      }
      // Commit the FixedDocumentSequence
      documentSequenceWriter->Commit();
   } catch (XpsPackagingException^ xpsException)
   {
      throw xpsException;

   } 
};// end:AddPackageContent()

.NET Framework
Available since 3.0
Return to top
Show: