6 pontos por GN⁺ 2025-02-26 | 4 comentários | Compartilhar no WhatsApp
  • Explica a estrutura do HWPX, um formato de documento aberto, e como ele armazena e gerencia dados
  • Explica as diferenças entre o HWPX e o formato HWP legado, analisando os principais componentes do formato HWPX e o papel de cada arquivo

Introdução

  • A maior diferença é que o HWP é um formato binário, enquanto o HWPX é composto por arquivos XML em uma estrutura ZIP
  • No caso do formato HWP, os streams são organizados em formato de registros, então é necessário um processo de análise separado para extrair os dados
    • Já no formato HWPX, como os arquivos principais são XML, a extração de dados é fácil

O que é HWPX

  • É um formato de documento aberto baseado em XML, desenvolvido pela Hancom, que segue o OWPML, padrão nacional (KS X 6101)
  • OWPML significa “Open Word-Processor Markup Language”, uma linguagem de marcação de processador de texto aberta baseada em XML
    • É um padrão industrial coreano (KS) estabelecido em 30 de dezembro de 2011, cujo desenvolvimento foi conduzido ao longo de cerca de 2 anos por meio do comitê nacional de padronização de documentos
    • Um padrão nacional desenvolvido em conjunto com especialistas que participam diretamente do desenvolvimento de padrões nacionais
  • É um formato de arquivo desenvolvido para garantir abertura, compatibilidade e preservação em relação ao formato binário HWP
    • Para isso, é composto como um formato de pacote baseado em XML

Estrutura do arquivo HWPX

  • O HWPX é um formato baseado em XML com estrutura de arquivo ZIP
  • Ao descompactá-lo, ele é composto por vários arquivos XML e pastas
  • Principais componentes:
    • mimetype: contém informações sobre o tipo de arquivo e funciona como assinatura para confirmar que é o formato HWPX
    • settings.xml: inclui informações de elementos de configuração externos, como a posição do cursor
    • version.xml: contém informações sobre a versão do formato de arquivo OWPML e o ambiente em que o documento foi salvo
    • BinData/: armazena arquivos binários incluídos no documento, como imagens e objetos OLE
    • Contents/: contém as informações de formatação e o conteúdo principal do documento, sendo composto por arquivos como content.hpf, header.xml e section0.xml
      • content.hpf : lista principal de arquivos do pacote. É definido de acordo com o padrão PF (Open Packaging Format) e é dividido em três partes: metadata, manifest e spine
      • header.xml : inclui todas as configurações relacionadas ao conteúdo do documento e contém informações de mapeamento como formato de caracteres e formato de parágrafos
      • section0.xml : armazena o conteúdo principal por seção, com cada seção do documento salva em um arquivo separado
    • META-INF/: inclui os arquivos manifest.xml, container.rdf e container.xml; no caso de documentos criptografados, armazena as informações de criptografia de cada arquivo
    • Scripts/: as informações de script salvas no documento são armazenadas nos arquivos headerScripts e sourceScripts
    • Preview/: contém a imagem e o arquivo de texto de pré-visualização. São as informações exibidas ao abrir o painel de pré-visualização no explorador de arquivos. No caso de documentos criptografados, esses arquivos não são armazenados por motivos de segurança

Considerações finais

  • Antes de usar o HWPX, explica a estrutura geral e o papel de cada arquivo que compõe seu interior
  • Nas próximas partes da série, serão compartilhados exemplos de como extrair os dados desejados de documentos HWPX reais
  • Espera-se que isso ajude no uso dos componentes e dos dados do HWPX

4 comentários

 
penguin5 2025-02-26

Ótimo texto, obrigado. Quero que os arquivos gerados na AWS, como relatórios, sejam em HWP, mas está difícil por falta de referências relacionadas. No momento, estou usando Word. Se você tiver algum material que possa servir de referência, peço por gentileza que compartilhe os links.

 
regentag 2025-02-26

Pelo que ouvi antes, parece que o hwpx é simplesmente o binário do hwp convertido para XML e depois empacotado em um ZIP.
Mas pelo menos dá para ler...

 
molla 2025-02-26

Dizem que isso copiou exatamente o docx.
A própria Microsoft já fez isso quando passou de doc para docx.