STARG-LEE/claude-skill-hwpx

Cria, lê, edita e converte documentos do Hangul (.hwpx) em Python, com funções aprimoradas para formatação de tabelas (margens de célula, alinhamento vertical, tratamento de texto, quebra de página e expansão de tabela).

O que é claude-skill-hwpx?

Este skill capacita agentes de IA (como Claude Code, Cursor, Codex) a manipular documentos nativos do processador de texto coreano Hangul (.hwpx) usando Python. Ele permite criar, ler, editar e converter arquivos .hwpx, indo além das capacidades básicas ao oferecer funções especializadas para formatação de tabelas: ajuste de margens internas das células, alinhamento vertical do conteúdo, tratamento de quebra de texto entre células, controle de quebra de página e expansão uniforme da tabela. É útil para desenvolvedores e usuários que precisam automatizar a geração de relatórios, contratos ou documentos em coreano que exijam formatação precisa de tabelas. O skill funciona como uma extensão da biblioteca `python-hwp` ou similar, expondo métodos prontos que economizam tempo e evitam a complexidade de manipular diretamente a estrutura XML do formato .hwpx. Suporta ambientes onde Python e a biblioteca base estão instalados, sendo compatível com as principais plataformas de agentes de IA.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add STARG-LEE/claude-skill-hwpx

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que claude-skill-hwpx faz?

Cria, lê, edita e converte documentos do Hangul (.hwpx) em Python, com funções aprimoradas para formatação de tabelas (margens de célula, alinhamento vertical, tratamento de texto, quebra de página e expansão de tabela).

Visão Geral

Este skill adiciona capacidades avançadas de manipulação de documentos .hwpx (formato nativo do Hangul, processador de texto coreano) para agentes de IA. Ele se baseia em bibliotecas Python como python-hwp ou pyhwpx para oferecer operações de alto nível, incluindo:

  • Criação: Gerar novos documentos .hwpx do zero.
  • Leitura: Extrair texto e metadados de arquivos existentes.
  • Edição: Modificar conteúdo, estilos e formatação.
  • Conversão: Exportar para outros formatos (ex.: PDF, HTML) quando suportado pela biblioteca base.
  • Formatação de Tabelas: Funções adicionais para controle fino:
    • Margens internas das células (set_cell_margins)
    • Alinhamento vertical do texto na célula (set_vertical_align)
    • Tratamento de espaçamento entre letras/palavras dentro da célula (set_text_treatment)
    • Controle de quebra de página dentro da tabela (set_page_break)
    • Expansão automática da tabela para preencher a largura da página (stretch_table)

Pré-requisitos

  • Python 3.7+
  • Biblioteca pyhwpx (ou equivalente) instalada via pip:
    pip install pyhwpx
    

Uso Básico

Criar um novo documento

from hwpx import HWPX

hwp = HWPX()
hwp.create()
hwp.add_text("Olá, mundo!")
hwp.save("exemplo.hwpx")

Adicionar uma tabela formatada

from hwpx import HWPX

hwp = HWPX()
hwp.create()
table = hwp.add_table(rows=3, cols=4)

# Aplicar formatação avançada
table.set_cell_margins(top=5, bottom=5, left=10, right=10)
table.set_vertical_align("middle")
table.set_text_treatment(tracking=0.5, word_spacing=1.0)
table.set_page_break(allow_break=False)
table.stretch_table()

# Preencher dados
data = [["Nome", "Idade", "Cidade", "País"],
        ["Ana", 28, "São Paulo", "Brasil"],
        ["João", 35, "Lisboa", "Portugal"]]
for i, row in enumerate(data):
    for j, cell in enumerate(row):
        table.set_cell(i, j, str(cell))

hwp.save("tabela_formatada.hwpx")

Documentação das Funções de Tabela

FunçãoParâmetrosDescrição
set_cell_marginstop, bottom, left, right (pt)Define as margens internas de todas as células
set_vertical_align"top", "middle", "bottom"Alinha verticalmente o conteúdo da célula
set_text_treatmenttracking (pt), word_spacing (pt)Ajusta o espaçamento entre letras e palavras
set_page_breakallow_break (booleano)Permite ou não quebra de página dentro da tabela
stretch_table(sem parâmetros)Expande a tabela para ocupar a largura total da página

Exemplos Avançados

Converter .hwpx para texto simples

from hwpx import HWPX

hwp = HWPX()
hwp.open("documento.hwpx")
text = hwp.extract_text()
print(text)

Editar célula específica

from hwpx import HWPX

hwp = HWPX()
hwp.open("relatorio.hwpx")
table = hwp.get_table(0)
table.set_cell(1, 2, "Novo valor")
table.set_cell_margins(left=20)  # Aumenta margem esquerda de todas as células
hwp.save("relatorio_editado.hwpx")

Limitações

  • A formatação de tabelas é aplicada globalmente a todas as células da tabela (não por célula individual).
  • A conversão para PDF depende da instalação de um visualizador Hangul no sistema.
  • O tratamento de texto (set_text_treatment) pode não ser suportado por todas as versões da biblioteca base.

Licença

Distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

Contribuição

Contribuições são bem-vindas! Por favor, abra uma issue ou pull request no repositório original.

Habilidades Relacionadas