¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Explorando a estrutura XML de documentos do Word: Guia SEO para desenvolvedores ABAP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 17 Vistas
0
Cargando...
Na primeira parte deste blog, eu apresento uma introdução ao OpenXML no processamento de texto. Na segunda parte, fornecerei código ABAP sobre como ler arquivos do Word.

Começando com o Microsoft Word 2007, ao criar um novo documento no Word e salvá-lo, um novo arquivo com a extensão "*.docx" é criado. Este arquivo representa arquivos XML comprimidos que descrevem todo o documento do Word. Inclui textos, tabelas, tamanhos de fonte, cores, comentários, configurações de margem, configurações de seção e tudo o que o usuário tenha colocado e mantido manualmente no documento. São arquivos XML interligados em uma estrutura específica e comprimidos em um arquivo.

Para explorar esta estrutura, crie seu documento de teste com algo nele e salve-o. Altere a extensão "*.docx" para "*.zip" e descomprima o arquivo. Após descompactá-lo, você verá todos os arquivos XML em uma estrutura específica. Se você precisar verificar e visualizar esses arquivos XML com frequência, recomendo um método mais conveniente. Sugiro instalar a Ferramenta OOXML, que é um complemento para o navegador Chrome. Facilmente, arrastando e soltando, você pode visualizar todo o documento do Word.

Por exemplo, criei o Test.docx com o texto "Olá Mundo". Lembre-se de que até você fornecer alguma entrada no Word, ele terá um tamanho de 0. Arrastei o arquivo do Word para o Chrome usando o complemento mencionado anteriormente para ver a estrutura XML do documento do Word. Procurei /word/document.xml para ver a tag de texto que contém o valor "Olá Mundo".



Cada arquivo XML descreve propriedades para partes do documento ou a relação entre as partes. Por exemplo:

  • Conten_types XML descreve o tipo de conteúdo utilizado em cada parte de todo o documento (pacote)

  • A parte _rels descreve a relação entre duas partes

  • A parte de propriedades do documento descreve as propriedades gerais do documento no arquivo XML da aplicação e o núcleo (aplicação, autor, versão...)

  • A parte XML personalizada é a parte que pode conter dados específicos do cliente; isso será descrito mais detalhadamente em outro blog

  • O conteúdo do documento está no arquivo /word/document.xml

  • O XML da tabela de fontes contém informações sobre os tipos de fontes utilizadas

  • O XML dos estilos descreve os estilos utilizados


A SAP fornece a classe CL_DOCX_DOCUMENT que pode nos ajudar a ler e modificar documentos do Word e revisar sua estrutura. Aqui está um código simples que faz o trabalho...
... (código ABAP omitido para reduzir a extensão do texto) ...

Os métodos get*part da classe podem fornecer diferentes partes do documento. Neste caso, estávamos interessados na parte principal.

O método get_data( ) irá retornar o arquivo XML da parte e utilizando o método feed_data( ) você armazenará o XML na parte usada do documento. Esses métodos fazem parte de cada classe que representa diferentes partes de documentos. Por exemplo, em nosso caso é CL_DOCX_MAINDOCUMENTPART. Olhe no depurador

O método get_package_data( ) da classe CL_DOCX_DOCUMENT salvará todas as partes atuais e as empacotará em um arquivo ZIP.

Você pode verificar isso no depurador observando as variáveis lv_xml e lv_docx usando a visualização XML do navegador. Para a variável lv_xml, você verá o arquivo XML da parte principal.



Para lv_docx, você receberá um pop-up perguntando se deseja salvar o arquivo ZIP, que é o resultado do método get_package_data( ).



Em meu próximo blog vou descrever a parte personalizada do documento do Word e como um desenvolvedor ABAP pode utilizá-la.
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Andre,

Talvez consiga imaginar se você fizer esse tipo de coisa de forma de serviço web que possa ser consumido pela sua aplicação, isso poderia ser possível. Mas leve apenas como uma opção a ser explorada. Não tenho muita experiência com isso. Na verdade, Java e C oferecem muitas mais possibilidades de uma forma mais conveniente de trabalhar com altChunk. Para conseguir processar isso em ABAP, primeiro tive que explorar códigos de amostra em C e Java; você pode realmente encontrar muitos deles na web.

Saudações,

Pavol

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...
Olá colegas,

Até onde eu entendo, isso só é possível se os serviços de frontend da interface gráfica do usuário (GUI) estiverem disponíveis, correto?

Há também soluções se trabalharmos com UI5, OData e HANA, ou seja, sem nenhum serviço do SAP Gui?

Cumprimentos,

André

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...
Muito obrigado! Seria realmente ótimo ter um blog sobre transformações de escrita relacionadas a este tema.
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...
Excelente blog. Hay una buena herramienta ABAP para listar el paquete disponible. Verifica el programa ROPENXML_LISTER. Además, he mejorado CL_DOCX_ALTERNATIVEFORMATPART para permitir archivos DOCX y MHT como altChunks. He escrito algunas transformaciones para actualizar datos de gráficos y reemplazar controles de contenido. Espero escribir pronto un blog al respecto.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?