Partager via


Méthode IXpsOMObjectFactory ::CreatePage (xpsobjectmodel.h)

Crée une interface IXpsOMPage , qui fournit le nœud racine d’une arborescence d’objets qui représentent le contenu d’une page unique.

Syntaxe

HRESULT CreatePage(
  [in]          const XPS_SIZE *pageDimensions,
  [in]          LPCWSTR        language,
  [in]          IOpcPartUri    *partUri,
  [out, retval] IXpsOMPage     **page
);

Paramètres

[in] pageDimensions

Le XPS_SIZE structure qui spécifie la taille de la page à créer.

La taille est décrite dans unités XPS. Il y a 96 unités XPS par pouce. Par exemple, les dimensions d’une page de 8,5 pouces par 11,0 pouces sont de 816 x 1 056 unités XPS.

[in] language

Chaîne qui indique la langue par défaut de la page créée.

Important La chaîne de langage doit suivre la syntaxe RFC 3066.
 

[in] partUri

Interface IOpcPartUri qui contient le nom de composant à affecter à cette ressource.

[out, retval] page

Pointeur vers la nouvelle interface IXpsOMPage .

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, celles du tableau qui suit. Pour plus d’informations sur les valeurs de retour de l’API de document XPS qui ne sont pas répertoriées dans ce tableau, consultez Erreurs de document XPS.

Code de retour Description
S_OK
S_OK
E_POINTER
pageDimensions, partUri ou page a la valeur NULL.
XPS_E_INVALID_LANGUAGE
language ne contient pas de chaîne de langue valide.
XPS_E_INVALID_PAGE_SIZE
pageDimensions contient une taille de page non valide ou des valeurs de taille de page non valides.

Remarques

L’exemple de code qui suit illustre la façon dont cette méthode est utilisée pour créer une interface.


IXpsOMPage        *newInterface;
// The following values are defined outside of 
// this example.
//  LPWSTR        language;
//  XPS_SIZE      pageDimensions;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreatePartUri(partUriString, &partUri);
    if (SUCCEEDED(hr))
    {
        hr = xpsFactory->CreatePage (
            &pageDimensions,
            language,
            partUri,
            &newInterface);

        if (SUCCEEDED(hr))
        {
            // use newInterface

            newInterface->Release();
        }
        partUri->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête xpsobjectmodel.h

Voir aussi

IXpsOMObjectFactory

Internet Engineering Task Force (IETF) RFC 3066

XML Paper Specification

Erreurs de document XPS