Interfaces de package du modèle d’entreprise XPS
Les interfaces de package représentent le niveau supérieur de l’om XPS, qui correspond à un fichier de document XPS. Ces interfaces contiennent des méthodes qui sérialisent un om XPS vers un document ou un flux XPS et désérialisent un package XPS pour créer un modèle d’utilisation XPS qui permet à un programme d’accéder au contenu d’un document.
Nom de l’interface | Interfaces enfant logiques | Description |
---|---|---|
IXpsOMPackage |
IXpsOMDocumentSequence IXpsOMCoreProperties |
Le modèle d’opération XPS complet qui correspond au package qui contient le document XPS. |
IXpsOMPackageWriter |
Aucun |
Active la sérialisation incrémentielle des pages de document dans un package. |
IXpsOMCoreProperties |
Aucun |
Accède aux métadonnées du document. |
Exemples de code
Les exemples de code qui suivent illustrent comment certaines interfaces de package sont utilisées par un programme. Sauf indication contraire, tous les éléments italiques sont des noms de paramètres.
- Lire un document XPS dans un modèle de gestion XPS
- Écrire un om XPS dans un fichier de document XPS
- Accéder à la séquence de documents de l’om XPS
- Accéder aux CoreProperties du document
Lire un document XPS dans un modèle de gestion XPS
À partir d’un document XPS existant dont le nom de fichier est stocké dans xpsDocumentFilename, cet exemple de code crée un om XPS référencé par xpsPackage.
HRESULT hr = S_OK;
IXpsOMPackage *xpsPackage;
hr = xpsFactory->CreatePackageFromFile(
xpsDocumentFilename,
FALSE,
&xpsPackage);
// xpsPackage now contains a pointer to the IXpsOMPackage
// object that has been populated with the contents
// of the XPS document in xpsDocumentFilename.
Écrire un om XPS dans un fichier de document XPS
L’exemple de code suivant écrit le MODÈLE XPS référencé par xpsPackage. L’exemple crée un document XPS dans le fichier dont le nom est stocké dans fileName.
HRESULT hr = S_OK;
hr = xpsPackage->WriteToFile(
xpsDocumentFilename,
NULL, // LPSECURITY_ATTRIBUTES
FILE_ATTRIBUTE_NORMAL,
FALSE); // optimizeMarkupSize
Accéder à la séquence de documents de l’om XPS
L’exemple de code suivant obtient un pointeur vers l’interface IXpsOMDocumentSequence , qui contient la séquence de document du modèle d’utilisation XPS représenté par xpsPackage.
HRESULT hr = S_OK;
IXpsOMDocumentSequence *docSeq;
IXpsOMDocumentCollection *docs;
// get the fixed document sequence of the package
hr = xpsPackage->GetDocumentSequence(&docSeq);
// get the collection of fixed documents in
// the fixed document sequence
hr = docSeq->GetDocuments(&docs);
Accéder aux CoreProperties du document
L’exemple de code suivant obtient un pointeur vers l’interface IXpsOMCoreProperties , ce qui permet au programme d’accéder au contenu de la partie CoreProperties. Dans l’exemple, le document est supposé avoir été lu dans un om XPS représenté par xpsPackage.
HRESULT hr = S_OK;
IXpsOMCoreProperties *coreProps;
LPWSTR title;
// get the fixed document sequence of the package
hr = xpsPackage->GetCoreProperties(&coreProps);
// get the title property
hr = coreProps->GetTitle(&title);
// do something with the title property here...
// free the string when finished with it
CoTaskMemFree ( title );
coreProps->Release();
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour