n8n-nodes-pdf-page-split
Version:
n8n node to split PDF documents into individual pages
323 lines (235 loc) • 10.1 kB
Markdown

# n8n-nodes-pocketbase-master
Este pacote contém nós personalizados para integrar o PocketBase com o n8n.
## Instalação
### No n8n
1. Vá para **Settings > Community Nodes**
2. Selecione **Install**
3. Digite `n8n-nodes-pocketbase-master` no campo de busca
4. Clique em instalar
### Manualmente
```bash
npm install n8n-nodes-pocketbase-master
```
## Operações Suportadas
### Record
O nó suporta as seguintes operações para registros:
#### Create
- Cria um novo registro em uma coleção
- Parâmetros:
- Collection: Nome da coleção
- Data: Dados do registro em formato JSON
#### Create with Files
- Cria um novo registro com upload de arquivos
- Parâmetros:
- Collection: Nome da coleção
- Fields Data: Campos regulares do registro
- Binary Property: Propriedade binária contendo os arquivos
- File Field Names: Nomes dos campos que receberão os arquivos
#### Delete
- Remove um registro específico
- Parâmetros:
- Collection: Nome da coleção
- Record ID: ID do registro a ser removido
#### Get
- Obtém um registro específico
- Parâmetros:
- Collection: Nome da coleção
- Record ID: ID do registro
- Expand Relations: Lista de relações a serem expandidas
#### Get Many
- Obtém múltiplos registros com suporte a filtros e paginação
- Parâmetros:
- Collection: Nome da coleção
- Return All: Se deve retornar todos os resultados
- Limit: Número máximo de resultados (se Return All for false)
- Filter: Critérios de filtro
- Sort: Ordenação dos resultados
- Expand Relations: Lista de relações a serem expandidas
#### Multi-Table Query
- Consulta registros em múltiplas tabelas simultaneamente
- Parâmetros para cada tabela:
- Collection Name: Nome da coleção
- Filter: Critérios de filtro específicos da tabela
- Fields: Campos a serem retornados
- Expand Relations: Lista de relações a serem expandidas
- Limit: Número máximo de resultados
- Opções adicionais:
- Merge Results: Combina resultados baseado em um campo comum
- Merge Field: Campo usado para combinar resultados
- Remove Duplicates: Remove entradas duplicadas ao combinar
#### Update
- Atualiza um registro existente
- Parâmetros:
- Collection: Nome da coleção
- Record ID: ID do registro
- Data: Novos dados em formato JSON
#### Update with Files
- Atualiza um registro existente com suporte a arquivos
- Parâmetros:
- Collection: Nome da coleção
- Record ID: ID do registro
- Fields Data: Campos regulares do registro
- Binary Property: Propriedade binária contendo os arquivos
- File Field Names: Nomes dos campos que receberão os arquivos
- Append Files: Se deve anexar ou substituir arquivos existentes
## Expansão de Relações
O nó agora suporta expansão de relações em várias operações (Get, Get Many, Multi-Table Query). Isso permite buscar dados relacionados em uma única consulta.
### Exemplos de Uso
1. **Buscar aluno com sua turma e colégio:**
```
Expand Relations: "turma,turma.colegio"
```
2. **Buscar turma com todos os alunos e professor:**
```
Expand Relations: "alunos,professor"
```
3. **Buscar colégio com turmas e seus respectivos professores:**
```
Expand Relations: "turmas,turmas.professor"
```
### Sintaxe de Expansão
- Use vírgula (,) para expandir múltiplas relações
- Use ponto (.) para expandir relações aninhadas
- Exemplo: "relacao1,relacao2.subrelacao,relacao3"
## Autenticação
O nó suporta dois métodos de autenticação:
1. **Email/Senha**
- Use credenciais de administrador do PocketBase
- Recomendado para desenvolvimento e testes
2. **Token de API**
- Use um token de API gerado no PocketBase
- Recomendado para produção
## Tratamento de Erros
O nó inclui tratamento robusto de erros e validações:
- Verificação de autenticação
- Validação de parâmetros
- Mensagens de erro descritivas
- Opção de continuar em caso de falha
## Exemplos
### Buscar Alunos de uma Turma Específica
```json
{
"operation": "getMany",
"collection": "alunos",
"filter": "turma.id = 'abc123'",
"expand": "turma,turma.colegio"
}
```
### Atualizar Foto do Perfil do Aluno
```json
{
"operation": "updateWithFiles",
"collection": "alunos",
"recordId": "xyz789",
"fileFieldNames": "foto_perfil",
"appendFiles": false
}
```
### Consulta Multi-Tabela com Relações
```json
{
"operation": "multiTableQuery",
"tables": [
{
"collection": "alunos",
"expand": "turma",
"filter": "ativo = true"
},
{
"collection": "professores",
"expand": "turmas,departamento",
"filter": "status = 'ativo'"
}
],
"options": {
"mergeResults": true,
"mergeField": "turma_id"
}
}
```
## Licença
[MIT](LICENSE.md)
# n8n-nodes-pdf-page-split

> Nó comunitário para n8n que permite dividir documentos PDF em páginas individuais
[](https://www.npmjs.com/package/n8n-nodes-pdf-page-split)
[](https://opensource.org/licenses/MIT)
## Visão Geral
Este nó permite que você divida arquivos PDF de várias páginas em arquivos PDF individuais de página única, facilitando o processamento, armazenamento e distribuição de documentos. É particularmente útil para fluxos de trabalho que envolvem processamento de documentos, como extração de dados, arquivamento ou distribuição de conteúdo.
## Principais Funcionalidades
- 📄 **Divisão de PDF**: Divide PDFs de várias páginas em arquivos PDF individuais
- 🔢 **Seleção de Páginas**: Especifique intervalos de páginas para processar apenas páginas específicas
- 📝 **Nomenclatura Personalizada**: Configure prefixos e formatos para os nomes dos arquivos de saída
- 🔄 **Processamento em Lote**: Suporte para processamento de múltiplos PDFs em uma única execução
## Instalação
### Via interface do n8n
1. Abra sua instância do n8n
2. Vá para **Configurações > Nós da Comunidade**
3. Selecione **Instalar**
4. Digite `n8n-nodes-pdf-page-split` no campo **Nome**
5. Clique em **Instalar**
### Via npm
```bash
npm install n8n-nodes-pdf-page-split
```
### Via yarn
```bash
yarn add n8n-nodes-pdf-page-split
```
## Compatibilidade
Este nó foi projetado para ser altamente compatível com diversos ambientes onde o n8n pode ser executado:
- ✅ Windows, macOS e Linux (incluindo Alpine Linux)
- ✅ Arquiteturas x86_64 e ARM64
- ✅ Contêineres Docker sem dependências adicionais
- ✅ n8n versão 0.147.0 ou superior
## Como Usar o Nó
### Parâmetros
#### Entrada
- **Propriedade Binária**: Nome da propriedade binária que contém o arquivo PDF (padrão: `data`)
#### Opções de Saída
- **Prefixo do Nome do Arquivo**: Prefixo para os nomes dos arquivos de saída (padrão: `page_`)
- **Incluir Número da Página**: Se deve incluir o número da página nos nomes dos arquivos
- **Iniciar Numeração Em**: O número para começar a contar as páginas (padrão: 1)
- **Intervalo de Páginas**: Intervalo de páginas a serem divididas (ex: "1-5,8,11-13"). Deixe vazio para dividir todas as páginas
### Saída
O nó gera cada página como um item separado com as seguintes propriedades:
- **Binário**: Dados da página em formato PDF
- **JSON**:
- `pageNumber`: O número da página no documento original
- `totalPages`: Número total de páginas no documento original
## Exemplos de Uso
### Exemplo 1: Dividir um PDF e salvar as páginas
Este exemplo mostra como dividir um PDF em páginas individuais e salvá-las no sistema de arquivos:
1. **HTTP Request** → Baixa um PDF de uma URL
2. **PDF Page Split** → Divide o PDF em páginas individuais
- Configure "Binary Property" como "data"
- Em "Output Options", defina "File Name Prefix" como "pagina_"
3. **Write Binary File** → Salva cada página como um arquivo separado
- Configure "File Name" como `{{$json["pageNumber"]}}_{{$binary.data.fileName}}`
### Exemplo 2: Processar apenas páginas específicas
Este exemplo mostra como processar apenas determinadas páginas de um PDF:
1. **Read Binary File** → Carrega um PDF local
2. **PDF Page Split** → Divide o PDF, selecionando apenas algumas páginas
- Configure "Binary Property" como "data"
- Em "Output Options", defina "Page Range" como "1-3,5,10-12"
3. **Google Drive** → Faz upload das páginas selecionadas para o Google Drive
## Resolução de Problemas
Se você encontrar problemas ao usar este nó, verifique o seguinte:
### Problemas Comuns
- **Erro "No binary data found"**: Certifique-se de que o nó anterior está produzindo dados binários
- **PDF sem páginas**: Verifique se o PDF é válido e contém páginas
- **Memória insuficiente**: Ao processar PDFs grandes, certifique-se de que o n8n tem memória suficiente disponível
### Dicas de Solução
- Certifique-se de que seu arquivo PDF não está protegido por senha
- Para PDFs muito grandes, tente definir intervalos de páginas menores para processamento
- Se o PDF estiver corrompido, tente regenerá-lo antes de processá-lo
## Detalhes Técnicos
Este nó utiliza a biblioteca [pdf-lib](https://pdf-lib.js.org/), que é uma solução puramente JavaScript para manipulação de PDFs, eliminando a necessidade de dependências nativas. Isso garante alta compatibilidade com diversos ambientes.
### Limitações
- O nó não suporta a extração de texto ou metadados das páginas do PDF
- PDFs protegidos por senha precisam ser desprotegidos antes do processamento
## Contribuição
Contribuições são bem-vindas! Consulte o [CONTRIBUTING.md](CONTRIBUTING.md) para obter informações sobre como contribuir para este projeto.
## Licença
Este projeto está licenciado sob a [Licença MIT](LICENSE).