- 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
Ó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.
Pelo que ouvi antes, parece que o
hwpxé simplesmente o binário dohwpconvertido para XML e depois empacotado em um ZIP.Mas pelo menos dá para ler...
Dizem que isso copiou exatamente o
docx.A própria Microsoft já fez isso quando passou de
docparadocx.Formato de arquivo de documento do Han/Geul: explorando a estrutura do formato HWP