Compartilhar via


Método IXpsOMPackageWriter::StartNewDocument (xpsobjectmodel.h)

Abre e inicializa um novo FixedDocument no FixedDocumentSequence do pacote.

Sintaxe

HRESULT StartNewDocument(
  [in] IOpcPartUri                            *documentPartName,
  [in] IXpsOMPrintTicketResource              *documentPrintTicket,
  [in] IXpsOMDocumentStructureResource        *documentStructure,
  [in] IXpsOMSignatureBlockResourceCollection *signatureBlockResources,
  [in] IXpsOMPartUriCollection                *restrictedFonts
);

Parâmetros

[in] documentPartName

Um ponteiro para uma interface IOpcPartUri que contém o nome da parte do novo documento.

[in] documentPrintTicket

Um ponteiro para uma interface IXpsOMPrintTicketResource que contém o tíquete de impressão no nível do documento. Se não houver nenhum tíquete de impressão no nível do documento para esse pacote, esse parâmetro poderá ser definido como NULL. Consulte também os comentários.

[in] documentStructure

Um ponteiro para uma interface IXpsOMDocumentStructureResource que contém o recurso de estrutura de documento inicial, se o recurso estiver disponível; se não estiver disponível, esse parâmetro poderá ser definido como NULL.

[in] signatureBlockResources

Um ponteiro para uma interface IXpsOMSignatureBlockResourceCollection que contém uma coleção de assinaturas digitais a serem anexadas ao documento. Se não houver assinaturas digitais a serem anexadas, esse parâmetro poderá ser definido como NULL.

[in] restrictedFonts

Um ponteiro para uma interface IXpsOMPartUriCollection que contém as fontes que devem ter relações de fonte restritas gravadas para elas. Os dados da fonte não são gravados até que AddResource ou Close seja chamado.

Se o documento não contiver fontes restritas, esse parâmetro poderá ser definido como NULL.

Retornar valor

O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam, aqueles na tabela a seguir. Para obter informações sobre valores retornados da API de documento XPS que não estão listados nesta tabela, consulte Erros de documento XPS.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
XPS_E_UNAVAILABLE_PACKAGE
Ocorreu um erro grave e o conteúdo do OM XPS pode ser irrecuperável. Alguns componentes do OM XPS ainda podem ser utilizáveis, mas somente depois de terem sido verificados. Como o estado do OM XPS não pode ser previsto depois que esse erro é retornado, todos os componentes do OM XPS devem ser liberados e descartados.
XPS_E_UNEXPECTED_RESTRICTED_FONT_RELATIONSHIP
A coleção de fontes restritas passada em restrictedFonts contém uma fonte irrestrita.
 

Esse método chama a API de Empacotamento . Para obter informações sobre os valores retornados da API de Empacotamento, consulte Erros de empacotamento.

Comentários

Esse método deve ser chamado antes que AddPage possa ser chamado para gravar o conteúdo de uma interface IXpsOMPage .

Imediatamente após a interface IXpsOMPackageWriter ter sido instanciada, o pacote contém apenas uma parte de Sequência de Documento Fixa vazia. Na primeira vez que esse método é chamado, uma parte FixedDocument é adicionada à parte Sequência de Documento Fixa e o método AddPage adicionará páginas a essa parte FixedDocument. Cada vez que esse método é chamado após a primeira vez, a parte FixedDocument atual é fechada e uma nova parte FixedDocument é aberta e adicionada à parte Sequência de Documento Fixa. Todas as chamadas subsequentes para o método AddPage adicionam páginas à parte FixedDocument aberta mais recentemente. Essa interface não dá suporte à adição de páginas a partes fixedDocument fechadas.

Se documentPrintTicket contiver um ponteiro NULL e o gravador de pacote tiver sido criado com intercalação definida como XPS_INTERLEAVING_ON, esse método criará um tíquete de impressão em nível de documento em branco, se ainda não existir um. Cada vez que esse método é chamado com um ponteiro NULL em documentPrintTicket, ele adiciona uma relação do novo documento ao tíquete de impressão em branco. Isso é feito para fornecer um consumo de streaming mais eficiente do pacote.

Se documentPrintTicket contiver um ponteiro NULL e o gravador de pacote tiver sido criado com a intercalação definida como XPS_INTERLEAVING_OFF, nenhum tíquete de impressão em branco será criado.

Nota A criação de um novo documento no pacote não cria automaticamente uma miniatura para o documento XPS. Para criar uma miniatura do documento XPS, use a interface IXpsOMThumbnailGenerator .
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho xpsobjectmodel.h

Confira também

IOpcPartUri

IXpsOMDocumentStructureResource

IXpsOMPackageWriter

IXpsOMPackageWriter3D

IXpsOMPrintTicketResource

IXpsOMSignatureBlockResourceCollection

Erros de empacotamento

Usando a interface IXpsOMPackageWriter

Especificação de Papel XML

Erros de documento XPS