Skip to main content

Uma biblioteca para manipulação dinâmica de documentos docx.

Project description

DynamicDoc Library

https://github.com/SamuelSGSouza/Dynamic-Docs DynamicDoc é uma biblioteca Python que permite a manipulação dinâmica de documentos .docx, processando blocos condicionais e loops de maneira semelhante a templates. Esta biblioteca utiliza variáveis e expressões lógicas no documento, substituindo as tags encontradas com os valores fornecidos pelo usuário. No repositório deste projeto, você encontrará um exemplo de uso da biblioteca, bem como um arquivo de exemplo para testes.

Ferramentas Atuais

  • Substituição de variáveis: Substitui as variáveis presentes no documento com os valores fornecidos.
  • Blocos condicionais: Processa blocos if, ou remover parágrafos de acordo com a condição.
  • Suporte a formatação: Formatação de variáveis substituídas com opções como negrito e itálico.

Ferramentas Futuras

  • Blocos de loop: Suporte a blocos for, permitindo iterações sobre listas será adicionado em futuras versões.
  • Condicionais aninhados: Suporte a condicionais adicionais como elif e else serão adicionadas em futuras versões.

Instalação

Para instalar as dependências da biblioteca, rode:

pip install DynamicDoc==0.1.5

Exemplo de Uso

from DynamicDoc.dynamicdoc import DynamicDoc

doc = DynamicDoc("template.docx",nome = "João", idade = 20, maioridade = True)
doc.save_document("output.docx")

#or

document_bytes = doc.get_document()

Documentação

Variáveis

Variáveis são definidas no documento com a seguinte sintaxe:

>>nome_da_variavel<<

As variáveis são substituídas pelos valores fornecidos no construtor da classe DynamicDoc. No exemplo acima, a variável nome será substituída por João. As variáveis sofrerão uma safe_evaluation, ou seja, não é possível executar comandos maliciosos.

Ferramentas de Formatação

Atualmente, variáveis podem ser editadas com negrito e itálico. A sintaxe é a seguinte:

>>ENDERECO<<(N,I)

Onde N é negrito e I é itálico. No exemplo acima, a variável ENDERECO será substituída com a formatação de negrito e itálico.

Blocos Condicionais

Blocos condicionais sempre terão uma abertura e um fechamento. A sintaxe é a seguinte:

>>if NOMES<<
    *seu texto*
>>endif<<

No exemplo acima, o bloco será processado se a variável NOMES for verdadeira. Caso contrário, o bloco será removido do documento.

Contribuição

Para contribuir com a biblioteca, siga os passos abaixo:

  1. Faça um fork do repositório
  2. Crie uma branch com a feature que deseja adicionar (git checkout -b feature/nova-feature)
  3. Commit as mudanças (git commit -am 'Adicionando nova feature')
  4. Faça um push para a branch (git push origin feature/nova-feature)
  5. Crie um novo Pull Request

Licença

Este projeto é licenciado sob a licença MIT - veja o arquivo LICENSE.md para mais detalhes.





Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dynamicdoc-1.0.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

DynamicDoc-1.0.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file dynamicdoc-1.0.0.tar.gz.

File metadata

  • Download URL: dynamicdoc-1.0.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.13

File hashes

Hashes for dynamicdoc-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0785c03fe569088899ff547628cec7c94a576335250054b103d9e5af43ee8d21
MD5 1f643b8499eeabaa97074a19666ce61a
BLAKE2b-256 064aaff9f008c28599e3f89e517f235a8217af2ac54323c4002d2adc7812dfe4

See more details on using hashes here.

File details

Details for the file DynamicDoc-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: DynamicDoc-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.13

File hashes

Hashes for DynamicDoc-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01398a0346c41dc66e66b86a92f45b13c871be69977b182b33526c3ebb23047c
MD5 1eae6f367e214302879394ace307c9dc
BLAKE2b-256 a6017b48ce913f4a36199cff6bb1b9da30a38799f3a6207e4f60f5580e672a0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page