Sobre o Open XML SDK para Office

O Open XML é um padrão aberto para documentos de processamento de texto, apresentações e planilhas que podem ser implementados livremente por vários aplicativos em diferentes plataformas. O Open XML foi projetado para representar fielmente documentos, apresentações e planilhas de processamento de texto existentes codificados em formatos binários definidos pelos aplicativos do Microsoft Office. A razão para o Open XML é simples: bilhões de documentos existem agora, mas, infelizmente, as informações nesses documentos estão fortemente acopladas aos programas que os criaram. O objetivo do padrão Open XML é desacoplar documentos criados por aplicativos Microsoft Office para que possam ser manipulados por outros aplicativos independentes de formatos proprietários e sem perda de dados.

Observação

Interessado em desenvolver soluções que ampliem a experiência do Office em várias plataformas? Confira o novo modelo de Suplementos do Office. Os suplementos do Office ocupam um pequeno espaço em comparação com os suplementos e as soluções do VSTO, e você pode criá-los usando quase qualquer tecnologia de programação da Web, como o HTML5, JavaScript, CSS3 e XML.

Estrutura de um pacote Open XML

Um arquivo Open XML é armazenado em um arquivo ZIP para empacotamento e compactação. Você pode exibir a estrutura de qualquer arquivo Open XML usando um visualizador ZIP. Um documento Open XML é criado com várias partes do documento. As relações entre as peças são armazenadas nas partes do documento. O formato ZIP oferece suporte ao acesso aleatório a cada parte. Por exemplo, um aplicativo pode mover um slide de uma apresentação para outra apresentação sem analisar o conteúdo do slide. Da mesma forma, um aplicativo pode remover todos os comentários de um documento de processamento de texto sem analisar nenhum de seus conteúdos.

As partes do documento em um pacote Open XML são criadas como marcação XML. Como o XML é um texto sem formatação estruturado, você pode exibir o conteúdo de uma parte do documento usando leitores de texto ou pode analisar o conteúdo usando processos como XPath.

Estruturalmente, um documento Open XML é um pacote OPC (Open Packaging Conventions). Como dito anteriormente, um pacote é composto de uma coleção de partes do documento. Cada parte tem um nome de parte que consiste em uma sequência de segmentos ou um nome de caminho como "/word/theme/theme1.xml". O pacote contém uma parte [Content_Types].xml que permite determinar o tipo de conteúdo de todas as partes do documento no pacote. Um conjunto de relações explícitas para um pacote de origem ou parte está contido em uma parte de relações que termina com a extensão .rels.

Os documentos de processamento de Word são descritos usando a marcação WordprocessingML. Para obter mais informações, consulte Trabalhando com documentos WordprocessingML. Um documento WordprocessingML é composto por uma coleção de histórias em que cada história é uma das seguintes:

  • Documento principal (a única história necessária)
  • Documento de glossário
  • Cabeçalho e rodapé
  • Comments
  • Caixa de texto
  • Nota de rodapé e nota de fim

As apresentações são descritas usando a marcação PresentationML. Para obter mais informações, consulte Trabalhando com documentos PresentationML. Os pacotes de apresentação podem conter as seguintes partes do documento:

  • Slide master
  • Notes master
  • Folheto master
  • Layout do slide
  • Observações

As pastas de trabalho de planilha são descritas usando a marcação SpreadsheetML. Para obter mais informações, consulte Trabalhar com documentos SpreadsheetML. Os pacotes de pastas de trabalho podem conter:

  • Parte da pasta de trabalho (parte necessária)
  • Uma ou mais planilhas
  • Gráficos
  • Tabelas
  • XML personalizado

Open XML SDK para Microsoft Office

O SDK dá suporte às seguintes tarefas/cenários comuns:

  • Classes e objetos fortemente tipados Em vez de depender da funcionalidade XML genérica para manipular XML, o que requer que você esteja ciente da ortografia de elemento/atributo/valor, bem como de namespaces, você pode usar o Open XML SDK para realizar a mesma solução simplesmente manipulando objetos que representam elementos/atributos/valores. Todos os tipos de esquema são representados como classes CLR (Common Language Runtime) fortemente tipadas e todos os valores de atributo como enumerações.
  • Construção, pesquisa e manipulação de conteúdo A tecnologia LINQ é incorporada diretamente ao SDK. Como resultado, você pode executar construções funcionais e consultas de expressão lambda diretamente em objetos que representam elementos Open XML. Além disso, o SDK permite percorrer e manipular facilmente o conteúdo, fornecendo suporte para coleções de objetos, como tabelas e parágrafos.
  • Validação O Open XML SDK para Microsoft Office fornece funcionalidade de validação, permitindo que você valide documentos Open XML em relação a diferentes variações do formato Open XML.

Open XML SDK for Office

O SDK do Open XML fornece os namespaces e os membros para oferecer suporte ao Microsoft Office. O SDK do Open XML também pode ler arquivos de formato estrito ISO/IEC 29500. O formato Estrito é um subconjunto do formato Transicional que não inclui recursos herdados - isso torna teoricamente mais fácil para um novo implementador dar suporte, pois tem uma pegada técnica menor.

O SDK dá suporte às seguintes tarefas/cenários comuns:

  • Suporte ao formato de arquivo Office Preview Além do Open XML SDK para classes do Microsoft Office, o Open XML SDK fornece novas classes que permitem escrever e criar aplicativos para manipular extensões de arquivo Open XML dos novos recursos do Office.
  • lê arquivo de documento estrito ISO O Open XML SDK pode ler arquivos de formato estrito ISO/IEC 29500. Quando a API do Open XML SDK abre um arquivo de Formato Estrito, cada parte do Open XML no arquivo é carregada em uma classe OpenXmlPart do Open XML SDK mapeando https://purl.oclc.org/ooxml/ namespaces para os namespaces correspondentes https://schemas.openxmlformats.org/ .
  • Correções para o Open XML SDK para Microsoft Office O Open XML SDK inclui correções para problemas conhecidos no Open XML SDK para Microsoft Office. Isso inclui espaços em branco perdidos em apresentações do PowerPoint e um problema com a interface do usuário personalizada em documentos do Word em que um argumento especificado foi relatado como estando fora do intervalo de valores válidos.

Para obter mais informações sobre esses e outros novos recursos do SDK do Open XML, consulte Novidades do SDK do Open XML para Office.