Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

IXpsFixedDocumentReader Interface

Defines methods for reading the parts of a FixedDocument and also for limited types of writing to the document.

Namespace:  System.Windows.Xps.Packaging
Assembly:  ReachFramework (in ReachFramework.dll)
public interface IXpsFixedDocumentReader : IDocumentStructureProvider

The IXpsFixedDocumentReader type exposes the following members.

  NameDescription
Public propertyDocumentNumberGets the zero-based position of the document in the FixedDocumentSequence.
Public propertyDocumentStructureGets the DocumentStructure part, if one exists, of the FixedDocument.
Public propertyFixedPagesGets a collection of FixedPage readers, one reader for each page in the FixedDocument.
Public propertyPrintTicketGets the PrintTicket, if one exists, that is associated with the FixedDocument.
Public propertySignatureDefinitionsGets a collection of all the signature definitions that are associated with the FixedDocument.
Public propertyThumbnailGets the thumbnail image, if a thumbnail exists, that is associated with the FixedDocument.
Public propertyUriGets the uniform resource identifier (URI) of the FixedDocument.
Top
  NameDescription
Public methodAddDocumentStructureAdds theDocumentStructure part of XML Paper Specification (XPS) to an XPS package. (Inherited from IDocumentStructureProvider.)
Public methodAddSignatureDefinitionAdds the specified XpsSignatureDefinition to the FixedDocument.
Public methodCommitSignatureDefinitionFlushes the package Stream and also commits an XpsSignatureDefinition to the package.
Public methodGetFixedPageGets a reader for the FixedPage with the specified uniform resource identifier (URI).
Public methodRemoveSignatureDefinitionRemoves the specified XpsSignatureDefinition from the FixedDocument.
Top

The following example shows how to obtain a reference to an object that implements this interface.


        private void SignatureDefinitionCommandHandler(object sender, RoutedEventArgs e)
        {
            SignatureDefinition sigDefDialog = new SignatureDefinition();
            if (sigDefDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                XpsSignatureDefinition signatureDefinition = new XpsSignatureDefinition();
                signatureDefinition.RequestedSigner = sigDefDialog.RequestedSigner.Text;
                signatureDefinition.Intent = sigDefDialog.Intent.Text;
                signatureDefinition.SigningLocale = sigDefDialog.SigningLocale.Text;
                try
                {
                    signatureDefinition.SignBy = DateTime.Parse(sigDefDialog.SignBy.Text);
                }
                catch (FormatException)
                {
                }
                signatureDefinition.SpotId = Guid.NewGuid();
                IXpsFixedDocumentSequenceReader docSeq = _xpsDocument.FixedDocumentSequenceReader; //_xpsDocument is type System.Windows.Xps.Packaging.XpsDocument
                IXpsFixedDocumentReader doc = docSeq.FixedDocuments[0];
                doc.AddSignatureDefinition(signatureDefinition);
                doc.CommitSignatureDefinition();
                InitializeSignatureDisplay();
            }
        }

The following example shows how to use an IXpsFixedDocumentReader to obtain an IXpsFixedDocumentReader collection in order to access each page in a FixedDocument.

ShowStatus("   Getting FixedDocumentSequenceReader.");
IXpsFixedDocumentSequenceReader fixedDocSeqReader =
    xpsDocument.FixedDocumentSequenceReader;

ShowStatus("   Getting FixedDocumentReaders.");
ICollection<IXpsFixedDocumentReader> fixedDocuments =
    fixedDocSeqReader.FixedDocuments;

ShowStatus("   Getting FixedPageReaders.");
IEnumerator<IXpsFixedDocumentReader> enumerator =
    fixedDocuments.GetEnumerator();
enumerator.MoveNext();
ICollection<IXpsFixedPageReader> fixedPages =
    enumerator.Current.FixedPages;


// Add a document structure to each fixed page. 
int i = 0;
foreach (IXpsFixedPageReader fixedPageReader in fixedPages)
{
    XpsResource pageStructure;
    ShowStatus("   Adding page structure resource:\n       '" +
                       Filename(_fixedPageStructures[i]) + "'");
    try
    {   // Add a new StoryFragment to hold the page structure.
        pageStructure = fixedPageReader.AddStoryFragment();
    }
    catch (System.InvalidOperationException)
    {
        MessageBox.Show(xpsUnstructuredFile +
            "\n\nDocument structure cannot be added.\n\n" +
            Filename(xpsUnstructuredFile) + " might already " +
            "contain an existing document structure.",
            "Cannot Add Document Structure",
            MessageBoxButton.OK, MessageBoxImage.Error);
        break;
    }

    // Copy the page structure to the new StoryFragment.
    WriteResource(pageStructure, _fixedPageStructures[i++]);
}

ShowStatus("   Saving and closing the new document.\n");
xpsDocument.Close();

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.