IXpsFixedDocumentReader Rozhraní

Definice

Definuje metody pro čtení částí FixedDocument a také pro omezené typy zápisu do dokumentu.Defines methods for reading the parts of a FixedDocument and also for limited types of writing to the document.

public interface class IXpsFixedDocumentReader : System::Windows::Xps::Packaging::IDocumentStructureProvider
public interface IXpsFixedDocumentReader : System.Windows.Xps.Packaging.IDocumentStructureProvider
type IXpsFixedDocumentReader = interface
    interface IDocumentStructureProvider
Public Interface IXpsFixedDocumentReader
Implements IDocumentStructureProvider
Implementuje

Příklady

Následující příklad ukazuje, jak získat odkaz na objekt, který implementuje toto rozhraní.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();
    }
}


Private Sub SignatureDefinitionCommandHandler(sender As Object, e As RoutedEventArgs)
    Using sigDefDialog As New SignatureDefinition()
        If sigDefDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            Dim signatureDefinition As New XpsSignatureDefinition With {
                .RequestedSigner = sigDefDialog.RequestedSigner.Text,
                .Intent = sigDefDialog.Intent.Text,
                .SigningLocale = sigDefDialog.SigningLocale.Text
            }
            Try
                signatureDefinition.SignBy = Date.Parse(sigDefDialog.SignBy.Text)
            Catch e1 As FormatException
            End Try
            signatureDefinition.SpotId = Guid.NewGuid()
            Dim docSeq As IXpsFixedDocumentSequenceReader = _xpsDocument.FixedDocumentSequenceReader '_xpsDocument is type System.Windows.Xps.Packaging.XpsDocument
            Dim doc As IXpsFixedDocumentReader = docSeq.FixedDocuments(0)
            doc.AddSignatureDefinition(signatureDefinition)
            doc.CommitSignatureDefinition()
            InitializeSignatureDisplay()
        End If
    End Using
End Sub

Následující příklad ukazuje, jak použít IXpsFixedDocumentReader , chcete-li získat IXpsFixedDocumentReader kolekci pro přístup ke každé stránce v FixedDocument .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();
ShowStatus("   Getting FixedDocumentSequenceReader.")
Dim fixedDocSeqReader As IXpsFixedDocumentSequenceReader = xpsDocument.FixedDocumentSequenceReader

ShowStatus("   Getting FixedDocumentReaders.")
Dim fixedDocuments As ICollection(Of IXpsFixedDocumentReader) = fixedDocSeqReader.FixedDocuments

ShowStatus("   Getting FixedPageReaders.")
Dim enumerator As IEnumerator(Of IXpsFixedDocumentReader) = fixedDocuments.GetEnumerator()
enumerator.MoveNext()
Dim fixedPages As ICollection(Of IXpsFixedPageReader) = enumerator.Current.FixedPages


' Add a document structure to each fixed page.
Dim i As Integer = 0
For Each fixedPageReader As IXpsFixedPageReader In fixedPages
    Dim pageStructure As XpsResource
    ShowStatus("   Adding page structure resource:" & vbLf & "       '" & Filename(_fixedPageStructures(i)) & "'")
    Try
        pageStructure = fixedPageReader.AddStoryFragment()
    Catch e2 As InvalidOperationException
        System.Windows.MessageBox.Show(xpsUnstructuredFile & vbLf & vbLf & "Document structure cannot be added." & vbLf & vbLf & Filename(xpsUnstructuredFile) & " might already " & "contain an existing document structure.",
                        "Cannot Add Document Structure",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error)
        Exit For
    End Try

    ' Copy the page structure to the new StoryFragment.
    WriteResource(pageStructure, _fixedPageStructures(i))
    i += 1
Next fixedPageReader

ShowStatus("   Saving and closing the new document." & vbLf)
xpsDocument.Close()

Vlastnosti

DocumentNumber

Získá pozici dokumentu na základě nuly v FixedDocumentSequence .Gets the zero-based position of the document in the FixedDocumentSequence.

DocumentStructure

Získá DocumentStructure součást, pokud existuje, z FixedDocument .Gets the DocumentStructure part, if one exists, of the FixedDocument.

FixedPages

Získá kolekci FixedPage čtenářů, jednoho čtecího zařízení pro každou stránku v FixedDocument .Gets a collection of FixedPage readers, one reader for each page in the FixedDocument.

PrintTicket

Získá PrintTicket , pokud existuje, který je spojen s FixedDocument .Gets the PrintTicket, if one exists, that is associated with the FixedDocument.

SignatureDefinitions

Získá kolekci všech definic podpisů, které jsou přidruženy k FixedDocument .Gets a collection of all the signature definitions that are associated with the FixedDocument.

Thumbnail

Získá obrázek miniatury, pokud existuje Miniatura, která je přidružena k FixedDocument .Gets the thumbnail image, if a thumbnail exists, that is associated with the FixedDocument.

Uri

Získá identifikátor URI (Uniform Resource Identifier) FixedDocument .Gets the uniform resource identifier (URI) of the FixedDocument.

Metody

AddDocumentStructure()

Přidá DocumentStructure součást XPS (XML Paper Specification)XML Paper Specification (XPS) do XPSXPS balíčku.Adds the DocumentStructure part of XPS (XML Paper Specification)XML Paper Specification (XPS) to an XPSXPS package.

(Zděděno od IDocumentStructureProvider)
AddSignatureDefinition(XpsSignatureDefinition)

Přidá zadaný XpsSignatureDefinition do FixedDocument .Adds the specified XpsSignatureDefinition to the FixedDocument.

CommitSignatureDefinition()

Vyprázdní balíček Stream a také potvrdí XpsSignatureDefinition balíček.Flushes the package Stream and also commits an XpsSignatureDefinition to the package.

GetFixedPage(Uri)

Získá čtecí modul pro se FixedPage zadaným identifikátorem URI (Uniform Resource Identifier).Gets a reader for the FixedPage with the specified uniform resource identifier (URI).

RemoveSignatureDefinition(XpsSignatureDefinition)

Odstraní zadaný XpsSignatureDefinition z FixedDocument .Removes the specified XpsSignatureDefinition from the FixedDocument.

Platí pro