AnnotationDocumentPaginator Class
Provides a DocumentPaginator for printing a document together with its associated annotations.
System.Windows.Documents.DocumentPaginator
System.Windows.Annotations.AnnotationDocumentPaginator
Namespace: System.Windows.Annotations
Assembly: PresentationFramework (in PresentationFramework.dll)
The AnnotationDocumentPaginator type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | AnnotationDocumentPaginator(DocumentPaginator, Stream) | Initializes a new instance of the AnnotationDocumentPaginator class based on a specified DocumentPaginator and annotation storage Stream. |
![]() | AnnotationDocumentPaginator(DocumentPaginator, AnnotationStore) | Initializes a new instance of the AnnotationDocumentPaginator class based on a specified DocumentPaginator and AnnotationStore. |
![]() | AnnotationDocumentPaginator(DocumentPaginator, Stream, FlowDirection) | Initializes a new instance of the AnnotationDocumentPaginator class based on a specified DocumentPaginator, annotation storage Stream, and text FlowDirection. |
![]() | AnnotationDocumentPaginator(DocumentPaginator, AnnotationStore, FlowDirection) | Initializes a new instance of the AnnotationDocumentPaginator class based on a specified DocumentPaginator, AnnotationStore, and text FlowDirection. |
| Name | Description | |
|---|---|---|
![]() | IsPageCountValid | Gets a value that indicates whether PageCount is the total number of pages. (Overrides DocumentPaginator.IsPageCountValid.) |
![]() | PageCount | Gets a value that indicates the number of pages currently formatted. (Overrides DocumentPaginator.PageCount.) |
![]() | PageSize | Gets or sets the suggested width and height of each page. (Overrides DocumentPaginator.PageSize.) |
![]() | Source | Gets the source document that is being paginated. (Overrides DocumentPaginator.Source.) |
| Name | Description | |
|---|---|---|
![]() | CancelAsync | Cancels all asynchronous operations initiated with a given userState object. (Overrides DocumentPaginator.CancelAsync(Object).) |
![]() | ComputePageCount | Forces a pagination of the content, updates PageCount with the new total, and sets IsPageCountValid to true. (Overrides DocumentPaginator.ComputePageCount().) |
![]() | ComputePageCountAsync() | Asynchronously, forces a pagination of the content, updates PageCount with the new total, and sets IsPageCountValid to true. (Inherited from DocumentPaginator.) |
![]() | ComputePageCountAsync(Object) | Starts an asynchronous pagination of the content, updates PageCount with the new total, and sets IsPageCountValid to true when it is finished. (Overrides DocumentPaginator.ComputePageCountAsync(Object).) |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetPage | Returns a DocumentPage together with associated user-annotations for a specified page number. (Overrides DocumentPaginator.GetPage(Int32).) |
![]() | GetPageAsync(Int32) | Asynchronously returns (through the GetPageCompleted event) the DocumentPage for the specified page number. (Inherited from DocumentPaginator.) |
![]() | GetPageAsync(Int32, Object) | asynchronously returns a DocumentPage together with associated user-annotations for a specified page number. (Overrides DocumentPaginator.GetPageAsync(Int32, Object).) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | ComputePageCountCompleted | Occurs when a ComputePageCountAsync operation has finished. (Inherited from DocumentPaginator.) |
![]() | GetPageCompleted | Occurs when GetPageAsync has completed. (Inherited from DocumentPaginator.) |
![]() | PagesChanged | Occurs when the document content is changed. (Inherited from DocumentPaginator.) |
The AnnotationDocumentPaginator class wraps the DocumentPaginator specified to the AnnotationDocumentPaginator constructor to add the user annotations to the pages for printing.
The following example shows use of the AnnotationDocumentPaginator class.
PrintDialog prntDialog = new PrintDialog(); if ((bool)prntDialog.ShowDialog()) { // XpsDocumentWriter.Write() may change the current // directory to "My Documents" or another user selected // directory for storing the print document. Save the // current directory and restore it after calling Write(). string docDir = Directory.GetCurrentDirectory(); // Create and XpsDocumentWriter for the selected printer. XpsDocumentWriter xdw = PrintQueue.CreateXpsDocumentWriter( prntDialog.PrintQueue); // Print the document with annotations. try { xdw.Write(_annotHelper.GetAnnotationDocumentPaginator( _xpsDocument.GetFixedDocumentSequence())); } catch (PrintingCanceledException) { // If in the PrintDialog the user chooses a file-based // output, such as the "MS Office Document Image Writer", // the user confirms or specifies the actual output // filename when the xdw.write operation executes. // If the user clicks "Cancel" in the filename // dialog a PrintingCanceledException is thrown // which we catch here and ignore. // MessageBox.Show("Print output cancelled"); } // Restore the original document directory to "current". Directory.SetCurrentDirectory(docDir); }
// ------------------ GetAnnotationDocumentPaginator ------------------ /// <summary> /// Returns a paginator for printing annotations.</summary> /// <param name="fds"> /// The FixedDocumentSequence containing /// the annotations to print.</param> /// <returns> /// An paginator for printing the document's annotations.</returns> public AnnotationDocumentPaginator GetAnnotationDocumentPaginator( FixedDocumentSequence fds) { return new AnnotationDocumentPaginator( fds.DocumentPaginator, _annotService.Store); }
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.
