Skip to content

Latest commit

 

History

History
237 lines (156 loc) · 6.85 KB

README.md

File metadata and controls

237 lines (156 loc) · 6.85 KB

CarboneJS

GitHub release GitHub downloads GitHub license
Documentation Status GitHub issues GitHub followers github fork badge

🤖 Document Templater - Microserviço de Geração de Documentos Baseados em Modelos

O Document Templater é um microserviço poderoso e flexível projetado para simplificar a geração de documentos complexos e personalizados a partir de modelos predefinidos. Combinando a facilidade de uso com a capacidade de criar documentos altamente personalizados, este microserviço é ideal para automatizar o processo de geração de relatórios, contratos, formulários e muito mais.

Table of content

README language: 🇦🇴 Português, 🇺🇸 English

How It Works

O Document Templater utiliza a biblioteca Carbone para fundir modelos com dados, produzindo os documentos de saída desejados. Utiliza Node.js e Express.js para o backend, permitindo-lhe construir um serviço de geração de documentos robusto e personalizável.

As principais características do Document Templater incluem:

  • 📝 Gere documentos profissionais e elegantes a partir de modelos pré-carregados.
  • 🎨 Personalize facilmente os documentos incorporando dados específicos.
  • 🌈 Suporte a diversos formatos de modelo, incluindo Word (docx) e PDF.
  • 🍏 Integração simples com APIs externas para buscar dados em tempo real.
  • ⭐️ Configurações flexíveis para ajustar a aparência e o conteúdo dos documentos.
  • 📐 API intuitiva que permite a integração perfeita em seus projetos existentes.

O Document Templater oferece uma solução escalável e eficiente para atender às suas necessidades de geração de documentos, economizando tempo e garantindo resultados consistentes e de alta qualidade.

Dê vida à geração de documentos de forma fácil e confiável com o Document Templater.

Getting Started

Siga estes passos para começar a utilizar o Document Templater:

Prerequisites

  • Node.js: Certifique-se de ter o Node.js instalado em sua máquina.
  • LibreOffice: Certifique-se de ter o LibreOffice versão 7.5.1.1 instalado em sua máquina.

Installation

  1. Clone o repositório:

    git clone https://github.com/m4nd0mb3/document-templater.git
  2. Navegue até o diretório do projeto:

    cd document-templater
  3. Instale as dependências:

    npm install

Usage

  1. Inicie o servidor:

    npm start
  2. Abra seu navegador web e navegue até http://localhost:3000.

  3. Explore os endpoints e exemplos fornecidos para ver como gerar diferentes tipos de documentos.

Running with Docker

Para executar o Document Templater usando o Docker, siga estas etapas:

  1. Construa a imagem do Docker:

    docker build -t document-templater:latest .
  2. Executar o contentor Docker:

    docker run -p 3000:3000 -d document-templater:latest
  3. Abra o navegador da Web e navegue até http://localhost:3000.

Basic Endpoints

Document Templater provides a set of basic endpoints to interact with the document generation service. Below are the examples of how to use these endpoints.

Create Document Template

Endpoint: api/v1/document/create

Method: POST

Description: Create or save a template document based on a provided template and data. Only document file field is required all others will be used to test the data in the sandbox.

Request Body:

{
  "document": "path/to/pdf-template.docx",
  "data":{
    "firstname": "John",
    "lastname": "Doe"
  }
}

Response:

{
  "message":"Data inserted successfully!"
}

List All Document Template

Endpoint: api/v1/documents

Method: GET

Description: List all templates stored. Look that the string on tests_data we gonna use to test our sandbox...

Request Body:

{
}

Response:

{
  "message": "success",
  "data": [
    {
      "reference": "3da7aa72-0760-4b56-9ba6-efa337c1db2b.odt",
      "name": "simple",
      "tests_data": "{\"firstname\":\"rasmushed\",\"lastname\":\"Igor\",\"age\":\"30\"}"
    },
    {
      "reference": "fbc57e45-6cbd-4250-8616-1e5038b01ad5.pptx",
      "name": "Capa Envelope SV",
      "tests_data": "{\"title\":\"Test PPTX\"}"
    }
  ]
}

Test Our Document Template

Endpoint: api/v1/document/{reference}/sandbox

Method: GET

Description: Generates a PDF document based on a reference provided template and data.

Request Body: Optional, but if you enter, the body data must to have the sabe key structure with tests_data.

Response:

A generated PDF document.

Generate Document Template

Endpoint: api/v1/document/{reference}/generate

Method: GET

Description: Generates a PDF document based on a reference provided template and data.

Request Body: Dhe body data must to have the sabe key structure with tests_data.

Response:

A generated PDF document.


Configuration

Modifique a configuração em .env para personalizar configurações como porta, caminhos de arquivos e mais.

Contributing

Contribuições são bem-vindas! Se você encontrar problemas ou quiser adicionar novas funcionalidades, sinta-se à vontade para enviar um pull request.

License

Este projeto está licenciado sob a Licença Apache-2.0.