IXpsFixedDocumentReader Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar metoder för att läsa delarna i en FixedDocument och även för begränsade typer av skrivning till dokumentet.
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
- Implementeringar
Exempel
I följande exempel visas hur du hämtar en referens till ett objekt som implementerar det här gränssnittet.
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
I följande exempel visas hur du använder en IXpsFixedDocumentReader för att hämta en IXpsFixedDocumentReader samling för att få åtkomst till varje sida i en 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()
Egenskaper
| Name | Description |
|---|---|
| DocumentNumber |
Hämtar dokumentets nollbaserade position i FixedDocumentSequence. |
| DocumentStructure |
Hämtar delen |
| FixedPages |
Hämtar en samling FixedPage läsare, en läsare för varje sida i FixedDocument. |
| PrintTicket |
Hämtar , PrintTicketom en finns, som är associerad med FixedDocument. |
| SignatureDefinitions |
Hämtar en samling med alla signaturdefinitioner som är associerade med FixedDocument. |
| Thumbnail |
Hämtar miniatyrbilden, om en miniatyrbild finns, som är associerad med FixedDocument. |
| Uri |
Hämtar den enhetliga resursidentifieraren (URI) för FixedDocument. |
Metoder
| Name | Description |
|---|---|
| AddDocumentStructure() |
Lägger till delen |
| AddSignatureDefinition(XpsSignatureDefinition) |
Lägger till den angivna XpsSignatureDefinition i FixedDocument. |
| CommitSignatureDefinition() |
Tömer paketet Stream och checkar även in ett XpsSignatureDefinition till paketet. |
| GetFixedPage(Uri) |
Hämtar en läsare för FixedPage med den angivna enhetliga resursidentifieraren (URI). |
| RemoveSignatureDefinition(XpsSignatureDefinition) |
Tar bort angivet XpsSignatureDefinition från FixedDocument. |