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.
Este tópico discute o Open XML SDK para a classe Office HandoutMaster e como ele se relaciona com o esquema PresentationML do Open XML File Format. Para obter mais informações sobre a estrutura geral das partes e elementos que compõem um documento PresentationML, consulte Estrutura de um documento PresentationML.
Slides mestres de folheto em PresentationML
A ISO/IEC 29500 descreve o elemento Open XML PresentationML <handoutMaster/> usado para representar um slide master de folheto em um documento PresentationML da seguinte maneira:
Esse elemento especifica uma instância de um folheto master slide. Dentro de um folheto master slide estão contidos todos os elementos que descrevem os objetos e sua formatação correspondente dentro de um slide de folheto. Em um slide master de folheto, o elemento cSld especifica os elementos comuns do slide, como formas e seus corpos de texto anexados. Existem outras propriedades em um slide master de folheto, mas o cSld abrange a maior parte da finalidade pretendida para um slide de folhetoMestre.
© ISO/IEC 29500: 2016
A tabela a seguir lista os elementos filho do <handoutMaster/> elemento usado ao trabalhar com slides master de folheto e as classes do Open XML SDK que correspondem a eles.
| Elemento PresentationML | Classe Open XML SDK |
|---|---|
<ClrMap/> |
ColorMap |
<cSld/> |
CommonSlideData |
<extLst/> |
ExtensionListWithModification |
<hf/> |
HeaderFooter |
Classe HandoutMaster do Open XML SDK
A classe Open XML SDK HandoutMaster representa o <handoutMaster/> elemento definido no esquema Open XML File Format para documentos PresentationML. Use a HandoutMaster classe para manipular elementos individuais <handoutMaster/> em um documento PresentationML.
As classes comumente associadas à HandoutMaster classe são mostradas nas seções a seguir.
Classe ColorMap
A ColorMap classe corresponde ao <ClrMap/> elemento. As seguintes informações da especificação ISO/IEC 29500 introduzem o <ClrMap/> elemento:
Esse elemento especifica a camada de mapeamento que transforma uma definição de esquema de cores em outra. Cada atributo representa um nome de cor que pode ser referenciado neste master e o valor é a cor correspondente no tema.
Exemplo: considere o seguinte mapeamento de cores que se aplica a um slide master:
<p:clrMap bg1="dk1" tx1="lt1" bg2="dk2" tx2="lt2" accent1="accent1"
accent2="accent2" accent3="accent3" accent4="accent4"
accent5="accent5"
accent6="accent6" hlink="hlink" folHlink="folHlink"/>
Classe CommonSlideData
A CommonSlideData classe corresponde ao <cSld/> elemento. As seguintes informações da especificação ISO/IEC 29500 introduzem o <cSld/> elemento:
Esse elemento especifica um contêiner para o tipo de informações de slide que é relevante para todos os tipos de slide. Todos os slides compartilham um conjunto comum de propriedades que é independente do tipo de slide; A descrição dessas propriedades para qualquer slide específico é armazenada no contêiner do <cSld/> slide. Os dados de slide específicos do tipo de slide indicado pelo elemento pai são armazenados em outro lugar.
Os dados reais descrevem <cSld/> apenas o slide pai específico; é apenas o tipo de informação armazenada que é comum em todos os slides.
Classe ExtensionListWithModification
A ExtensionListWithModification classe corresponde ao <extLst/> elemento. As seguintes informações do
A especificação apresenta o <extLst/> elemento:
Este elemento especifica a lista de extensões com capacidade de modificação dentro da qual todas as extensões futuras do tipo <ext/> de elemento são definidas.
A lista de extensão, juntamente com as extensões futuras correspondentes, é usada para estender os recursos de armazenamento da estrutura PresentationML. Isso permite que vários novos tipos de dados sejam armazenados nativamente na estrutura.
Observação
O uso desse elemento extLst permite que o aplicativo gerador armazene se essa propriedade de extensão foi modificada.
Classe HeaderFooter
A HeaderFooter classe corresponde ao <hf/> elemento. As seguintes informações da especificação ISO/IEC 29500 introduzem o <hf/> elemento:
Esse elemento especifica as informações de cabeçalho e rodapé de um slide. Cabeçalhos e rodapés consistem em espaços reservados para texto que devem ser consistentes em todos os slides e tipos de slide, como data e hora, numeração de slides e texto personalizado de cabeçalho e rodapé.
Trabalhando com a classe HandoutMaster
Conforme mostrado no exemplo de código do Open XML SDK a seguir, cada instância da HandoutMaster classe está associada a uma instância da classe, que representa uma parte master de folheto, uma das partes de um pacote de arquivos de apresentação PresentationML e uma parte que é necessária para um arquivo de HandoutMasterPart apresentação que contém folhetos.
A HandoutMaster classe, que representa o <handoutMaster/> elemento, também está, portanto, associada a uma série de outras classes que representam os elementos filho do <handoutMaster/> elemento. Entre essas classes, conforme mostrado no exemplo de código a seguir, estão a classe, a CommonSlideDataColorMap classe, a ShapeTree classe e a Shape classe.
Exemplo de código do Open XML SDK
O método a seguir adiciona uma nova parte de master de folheto a uma apresentação existente e cria uma instância de uma classe Open XML SDK HandoutMaster na nova parte de master de folheto. O HandoutMaster construtor de classe cria instâncias da classe e da CommonSlideDataColorMap classe. O CommonSlideData construtor de classe cria uma instância da ShapeTree classe, cujo construtor, por sua vez, cria instâncias de classe adicionais: uma instância da NonVisualGroupShapeProperties classe, uma instância da GroupShapeProperties classe e uma instância da Shape classe.
O namespace representado pela letra P no código é o DocumentFormat.OpenXml.Presentation namespace.
static HandoutMasterPart CreateHandoutMasterPart(PresentationPart presentationPart)
{
HandoutMasterPart handoutMasterPart1 = presentationPart.AddNewPart<HandoutMasterPart>();
handoutMasterPart1.HandoutMaster = new HandoutMaster(
new CommonSlideData(
new ShapeTree(
new P.NonVisualGroupShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)1U, Name = "" },
new P.NonVisualGroupShapeDrawingProperties(),
new ApplicationNonVisualDrawingProperties()),
new GroupShapeProperties(new TransformGroup()),
new P.Shape(
new P.NonVisualShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)2U, Name = "Title 1" },
new P.NonVisualShapeDrawingProperties(new ShapeLocks() { NoGrouping = true }),
new ApplicationNonVisualDrawingProperties(new PlaceholderShape())),
new P.ShapeProperties(),
new P.TextBody(
new BodyProperties(),
new ListStyle(),
new Paragraph(new EndParagraphRunProperties() { Language = "en-US" }))))),
new P.ColorMap()
{
Background1 = D.ColorSchemeIndexValues.Light1,
Text1 = D.ColorSchemeIndexValues.Dark1,
Background2 = D.ColorSchemeIndexValues.Light2,
Text2 = D.ColorSchemeIndexValues.Dark2,
Accent1 = D.ColorSchemeIndexValues.Accent1,
Accent2 = D.ColorSchemeIndexValues.Accent2,
Accent3 = D.ColorSchemeIndexValues.Accent3,
Accent4 = D.ColorSchemeIndexValues.Accent4,
Accent5 = D.ColorSchemeIndexValues.Accent5,
Accent6 = D.ColorSchemeIndexValues.Accent6,
Hyperlink = D.ColorSchemeIndexValues.Hyperlink,
FollowedHyperlink = D.ColorSchemeIndexValues.FollowedHyperlink
});
return handoutMasterPart1;
}