Поделиться через


AnnotationDocumentPaginator Класс

Определение

Предоставляет DocumentPaginator для печати документа вместе со связанными с ним заметками.

public ref class AnnotationDocumentPaginator sealed : System::Windows::Documents::DocumentPaginator
public sealed class AnnotationDocumentPaginator : System.Windows.Documents.DocumentPaginator
type AnnotationDocumentPaginator = class
    inherit DocumentPaginator
Public NotInheritable Class AnnotationDocumentPaginator
Inherits DocumentPaginator
Наследование
AnnotationDocumentPaginator

Примеры

В следующем примере показано использование AnnotationDocumentPaginator класса .

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);
}
Dim prntDialog As New PrintDialog()
If CBool(prntDialog.ShowDialog()) Then
    ' 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().
    Dim docDir As String = Directory.GetCurrentDirectory()

    ' Create and XpsDocumentWriter for the selected printer.
    Dim xdw As XpsDocumentWriter = PrintQueue.CreateXpsDocumentWriter(prntDialog.PrintQueue)

    ' Print the document with annotations.
    Try
        xdw.Write(_annotHelper.GetAnnotationDocumentPaginator(_xpsDocument.GetFixedDocumentSequence()))
    Catch e1 As 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.
    End Try

    ' Restore the original document directory to "current".
    Directory.SetCurrentDirectory(docDir)
End If
// ------------------ 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);
}
' ------------------ 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 Function GetAnnotationDocumentPaginator(ByVal fds As FixedDocumentSequence) As AnnotationDocumentPaginator
    Return New AnnotationDocumentPaginator(fds.DocumentPaginator, _annotService.Store)
End Function

Комментарии

Класс AnnotationDocumentPaginator заключает указанный объект DocumentPaginator в AnnotationDocumentPaginator конструктор, чтобы добавить пользовательские заметки на страницы для печати.

Конструкторы

AnnotationDocumentPaginator(DocumentPaginator, AnnotationStore)

Инициализирует новый экземпляр класса AnnotationDocumentPaginator на основе заданных DocumentPaginator и AnnotationStore.

AnnotationDocumentPaginator(DocumentPaginator, AnnotationStore, FlowDirection)

Инициализирует новый экземпляр класса AnnotationDocumentPaginator на основе заданных DocumentPaginator, AnnotationStore и FlowDirection текста.

AnnotationDocumentPaginator(DocumentPaginator, Stream)

Инициализирует новый экземпляр класса AnnotationDocumentPaginator на основе заданного DocumentPaginator и хранилища заметок Stream.

AnnotationDocumentPaginator(DocumentPaginator, Stream, FlowDirection)

Инициализирует новый экземпляр класса AnnotationDocumentPaginator на основе заданного DocumentPaginator, хранилища заметок Stream и FlowDirection текстового потока.

Свойства

IsPageCountValid

Возвращает или задает значение, указывающее, является ли PageCount общим количеством страниц.

PageCount

Возвращает количество уже отформатированных страниц.

PageSize

Возвращает или задает предполагаемую ширину и высоту каждой страницы.

Source

Возвращает исходный документ, разбиваемый на страницы.

Методы

CancelAsync(Object)

Отменяет все асинхронные операции, инициированные данным объектом userState.

ComputePageCount()

Обеспечивает разбиение содержимого на страницы, обновляет PageCount новым значением общего количества страниц и присваивает IsPageCountValid значение true.

ComputePageCountAsync()

Асинхронный вызов разбивки содержимого на страницы, обновления PageCount новой суммой и установки IsPageCountValid на значение true.

(Унаследовано от DocumentPaginator)
ComputePageCountAsync(Object)

Начинает асинхронную разбивку содержимого на страницы, обновляет значение PageCount новым числом страниц и устанавливает для IsPageCountValid значение true по завершении.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetPage(Int32)

Для заданного номера страницы возвращает объект DocumentPage и связанные с ним пользовательские заметки.

GetPageAsync(Int32)

Асинхронное возвращение (посредством события GetPageCompleted) DocumentPage для заданного номера страницы.

(Унаследовано от DocumentPaginator)
GetPageAsync(Int32, Object)

Асинхронно возвращает DocumentPage вместе с соответствующими заметками пользователя для страницы с указанным номером.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnComputePageCountCompleted(AsyncCompletedEventArgs)

Вызывает событие ComputePageCountCompleted.

(Унаследовано от DocumentPaginator)
OnGetPageCompleted(GetPageCompletedEventArgs)

Вызывает событие GetPageCompleted.

(Унаследовано от DocumentPaginator)
OnPagesChanged(PagesChangedEventArgs)

Вызывает событие PagesChanged.

(Унаследовано от DocumentPaginator)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

ComputePageCountCompleted

Происходит при завершении операции ComputePageCountAsync.

(Унаследовано от DocumentPaginator)
GetPageCompleted

Происходит после завершения работы метода GetPageAsync.

(Унаследовано от DocumentPaginator)
PagesChanged

Происходит при изменении содержимого документа.

(Унаследовано от DocumentPaginator)

Применяется к