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


Метод IXpsOMPackageWriter::AddPage (xpsobjectmodel.h)

Записывает новую часть FixedPage в открытую в данный момент часть FixedDocument в пакете.

Синтаксис

HRESULT AddPage(
  [in] IXpsOMPage                   *page,
  [in] const XPS_SIZE               *advisoryPageDimensions,
  [in] IXpsOMPartUriCollection      *discardableResourceParts,
  [in] IXpsOMStoryFragmentsResource *storyFragments,
  [in] IXpsOMPrintTicketResource    *pagePrintTicket,
  [in] IXpsOMImageResource          *pageThumbnail
);

Параметры

[in] page

Интерфейс IXpsOMPage , содержимое страницы которого должно быть записано в открытый в данный момент FixedDocument пакета.

[in] advisoryPageDimensions

Структура XPS_SIZE , содержащая размеры страницы.

Размер описывается в единицах XPS. На дюйм приходится 96 единиц XPS. Например, размер страницы размером 8,5 на 11,0 дюйма составляет 816 х 1056 единиц XPS.

[in] discardableResourceParts

Интерфейс IXpsOMPartUriCollection , содержащий коллекцию отменяемых частей ресурсов.

[in] storyFragments

Интерфейс IXpsOMStoryFragmentsResource , который будет использоваться для этой страницы.

[in] pagePrintTicket

Интерфейс IXpsOMPrintTicketResource , содержащий билет печати на уровне страницы для этой страницы. См. также примечания.

[in] pageThumbnail

Интерфейс IXpsOMImageResource , содержащий эскиз этой страницы.

Возвращаемое значение

Метод возвращает HRESULT. Возможные значения включают, помимо прочего, значения в следующей таблице. Сведения о возвращаемых значениях API документов XPS, не перечисленных в этой таблице, см. в разделе Ошибки документа XPS.

Код возврата Описание
S_OK
Метод выполнен успешно.
XPS_E_MISSING_DISCARDCONTROL
Страница ссылается на отбрасываемые ресурсы, но не указывает имя части DiscardControl.
XPS_E_MISSING_DOCUMENT
Этот метод был вызван до startNewDocument.
XPS_E_UNAVAILABLE_PACKAGE
Произошла серьезная ошибка, и содержимое XPS OM может быть невосстановимым. Некоторые компоненты XPS OM могут по-прежнему использоваться, но только после проверки. Так как после возврата этой ошибки невозможно предсказать состояние XPS OM, все компоненты XPS OM должны быть освобождены и отменены.
 

Этот метод вызывает API упаковки . Сведения о возвращаемых значениях API упаковки см. в разделе Ошибки упаковки.

Комментарии

Вызовите этот метод после вызова StartNewDocument.

Этот метод создает новую часть FixedPage в пакете, копирует содержимое интерфейса IXpsOMPage , передаваемого в параметре страницы , а затем закрывает новую часть FixedPage после записи страницы в пакет.

Если pagePrintTicket содержит указатель NULL и модуль записи пакетов был создан с чередованием, равным XPS_INTERLEAVING_ON, этот метод создает пустой билет печати на уровне страницы, если он еще не существует. При каждом вызове метода с указателем NULL в pagePrintTicket он добавляет связь из новой страницы к пустому билету печати. Это делается для более эффективного использования пакета потоковой передачи.

Если pagePrintTicket содержит указатель NULL и модуль записи пакетов был создан с чередованием, имеющим значение XPS_INTERLEAVING_OFF, пустой билет печати не создается.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header xpsobjectmodel.h

См. также раздел

IXpsOMDocumentStructureResource

IXpsOMImageResource

IXpsOMPackageWriter

IXpsOMPackageWriter3D

IXpsOMPage

IXpsOMPartUriCollection

IXpsOMPrintTicketResource

IXpsOMStoryFragmentsResource

Ошибки упаковки

Использование интерфейса IXpsOMPackageWriter

XPS

Ошибки документа XPS

XPS_SIZE