Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As interfaces de pacote representam o nível superior do OM XPS, que corresponde a um arquivo de documento XPS. Essas interfaces contêm métodos que serializam um OM XPS em um documento ou fluxo XPS e desserializam um pacote XPS para criar um OM XPS que permite que um programa acesse o conteúdo de um documento.
| Nome da interface | Interfaces filho lógicas | Descrição |
|---|---|---|
|
IXpsOMPackage |
IXpsOMDocumentSequence IXpsOMCoreProperties |
O OM XPS completo que corresponde ao pacote que contém o documento XPS. |
|
IXpsOMPackageWriter |
Nenhum |
Habilita a serialização incremental de páginas de documentos em um pacote. |
|
IXpsOMCoreProperties |
Nenhum |
Acessa os metadados do documento. |
Exemplos de código
Os exemplos de código a seguir ilustram como algumas das interfaces de pacote são usadas por um programa. A menos que seja observado o contrário, todos os itens itálicos são nomes de parâmetro.
- ler um documento XPS em um de OM XPS
- gravar um OM XPS em um arquivo de documento XPS
- Acessar a sequência de documentos do de OM XPS
- Acessar o CoreProperties do documento
Ler um documento XPS em um OM XPS
Em um documento XPS existente cujo nome de arquivo é armazenado em xpsDocumentFilename, este exemplo de código cria um OM XPS referenciado por 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.
Gravar um OM XPS em um arquivo de documento XPS
O exemplo de código a seguir grava o OM XPS referenciado por xpsPackage. O exemplo cria um documento XPS no arquivo cujo nome é armazenado em fileName.
HRESULT hr = S_OK;
hr = xpsPackage->WriteToFile(
xpsDocumentFilename,
NULL, // LPSECURITY_ATTRIBUTES
FILE_ATTRIBUTE_NORMAL,
FALSE); // optimizeMarkupSize
Acessar a sequência de documentos do OM XPS
O exemplo de código a seguir obtém um ponteiro para a interface IXpsOMDocumentSequence, que contém a sequência de documentos do OM XPS representada por 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);
Acessar o CoreProperties do documento
O exemplo de código a seguir obtém um ponteiro para a interfaceIXpsOMCoreProperties, permitindo que o programa acesse o conteúdo da parte CoreProperties. No exemplo, supõe-se que o documento tenha sido lido em um OM XPS representado por 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();
Tópicos relacionados
-
navegar no de OM do XPS
-
interface IXpsOMDocumentSequence
-
interface IXpsOMPackage
-
interface IXpsOMPackageWriter
-
interface IXpsOMCoreProperties