Implantação do Stirling-PDF com Docker: Configure Sua Estação de Trabalho PDF Pessoal

Você ainda utiliza programas complexos e pesados para manipular arquivos PDF? Preocupa-se com a privacidade de seus documentos sensíveis ao usar ferramentas online? Este guia detalhado o ajudará a configurar o Stirling-PDF em apenas alguns minutos, criando uma central de processamento de PDFs local e completa. Com ele, você poderá realizar mais de 30 operações, incluindo mesclagem, divisão, reconhecimento OCR e muito mais, tudo isso de forma segura em seu próprio ambiente.

Por Que Optar Pelo Stirling-PDF?

O Stirling-PDF é uma das ferramentas de código aberto mais populares no GitHub para manipulação de PDFs. Ele oferece uma vasta gama de funcionalidades, desde operações básicas como unir e separar documentos, até recursos avançados como reconhecimento óptico de caracteres (OCR) e conversão de formatos. O processamento dos arquivos ocorre exclusivamente em seu sistema, eliminando qualquer risco de vazamento de dados. Suas principais vantagens incluem:

  • Totalmente Gratuito: Acesso irrestrito a todas as funcionalidades avançadas, sem custos, anúncios ou assinaturas.
  • Processamento Local: Nenhum dado é enviado a servidores de terceiros, ideal para documentos confidenciais.
  • Implantação com Docker: Compatível com diversas plataformas (Linux, Windows, macOS), facilitando a instalação.
  • Extensibilidade: Suporte a fontes personalizadas, OCR multilíngue e integração via API.

Pré-requisitos Técnicos

Antes de iniciar a implantação, certifique-se de que seu ambiente atenda aos seguintes requisitos:

  • Docker Engine versão 20.10 ou superior.
  • Docker Compose versão 2.0 ou superior.
  • Pelo menos 1 GB de memória RAM disponível.
  • Mínimo de 2 GB de espaço em disco (para a versão padrão).

Comparativo das Versões de Imagem Docker

O Stirling-PDF oferece diferentes imagens Docker para atender a diversas necessidades:

Etiqueta da Imagem Características Tamanho Estimado Cenário de Uso
latest Funcionalidades completas, pronta para uso geral. ~1.5 GB Estação de trabalho pessoal, demanda todas as ferramentas.
latest-ultra-lite Versão compacta, ideal para operações PDF essenciais. ~300 MB Dispositivos com recursos limitados, tarefas básicas.
latest-fat Edição expandida, com todas as dependências pré-instaladas. ~2.5 GB Ambientes corporativos ou que exigem maior robustez.

Implantação Rápida: Em Funcionamento em Minutos

Opção 1: Docker Run (Configuração Básica)

Para uma inicialização rápida do contêiner, execute o seguinte comando no terminal:

docker run -d \
 -p 8080:8080 \
 -v "./dados_ocr:/usr/share/tessdata" \
 -v "./configuracoes:/configs" \
 -v "./registros:/logs" \
 -e "DOCKER_ENABLE_SECURITY=false" \
 -e "LANGS=pt_BR,en_US" \
 --name minha-estacao-pdf \
 frooodle/s-pdf:latest

Este comando configura o serviço em segundo plano, mapeia a porta 8080, estabelece a persistência de dados para arquivos de OCR, configurações e logs, desabilita a segurança por padrão e define os idiomas para Português do Brasil e Inglês.

Opção 2: Docker Compose (Recomendado)

O Docker Compose simplifica a orquestração do serviço. Crie um arquivo chamado docker-compose.yml com o seguinte conteúdo:

version: '3.8'
services:
 estacao_pdf_stirling:
   container_name: stirling-pdf-app
   image: frooodle/s-pdf:latest
   ports:
     - "8080:8080"
   volumes:
     - ./dados_ocr:/usr/share/tessdata:rw
     - ./configuracoes:/configs:rw
     - ./registros:/logs:rw
   environment:
     DOCKER_ENABLE_SECURITY: "false"
     SECURITY_ENABLELOGIN: "false"
     LANGS: "pt_BR,en_US"
     SYSTEM_DEFAULTLOCALE: pt-BR
     UI_APPNAME: "Central de PDF Pessoal"
   restart: on-failure:5

Para iniciar o serviço, navegue até o diretório onde você salvou o arquivo docker-compose.yml e execute:

docker-compose up -d

Verificação da Implantação

Após a inicialização, abra seu navegador e acesse http://localhost:8080. A interface do Stirling-PDF deve ser exibida, confirmando o sucesso da implantação.

Aprimorando a Segurança: Habilitando Autenticação

Para ambientes com múltiplos usuários ou quando o acesso será via internet, é fundamental ativar a autenticação. Modifique a seção environment do seu arquivo docker-compose.yml conforme o exemplo abaixo:

environment:
 DOCKER_ENABLE_SECURITY: "true"
 SECURITY_ENABLELOGIN: "true"
 SECURITY_INITIALLOGIN_USERNAME: "admin_user"
 SECURITY_INITIALLOGIN_PASSWORD: "MinhaSenhaSuperSegura123!"

Após reiniciar o contêiner, você será solicitado a alterar a senha no primeiro login. As configurações de segurança são armazenadas no arquivo ./configuracoes/settings.yml.

Configurações Avançadas

Suporte a Múltiplos Idiomas

Utilize a variável de ambiente LANGS para definir os pacotes de idiomas de OCR desejados. Exemplo:

-e LANGS=pt_BR,en_US,es_ES,fr_FR

Consulte a documentação oficial para a lista completa de idiomas suportados.

Persistência de Dados

É crucial configurar volumes para garantir que seus dados não sejam perdidos ao reiniciar ou remover o contêiner:

  • /usr/share/tessdata: Armazena os arquivos de dados de idioma para OCR.
  • /configs: Contém arquivos de configuração e o banco de dados interno.
  • /logs: Guarda os registros de execução do aplicativo.

Recomenda-se usar caminhos absolutos para os volumes para evitar problemas de permissão. Exemplo em docker-compose.yml:

volumes:
 - /opt/stirling-pdf/dados_ocr:/usr/share/tessdata:rw

Otimização de Desempenho

Para lidar com arquivos PDF grandes, você pode ajustar os limites de memória para o contêiner no docker-compose.yml:

deploy:
 resources:
   limits:
     memory: 4G
   reservations:
     memory: 2G

Introdução aos Principais Recursos

Módulos de Funcionalidade Essenciais

Categoria Funcionalidades
Manipulação de Páginas Combinar, dividir, girar, extrair páginas específicas.
Ferramentas de Conversão Converter PDF para Word, Excel, imagens e vice-versa.
Reconhecimento OCR Transformar documentos escaneados em PDFs pesquisáveis.
Segurança de Documentos Adicionar senhas, marcas d'água, assinaturas digitais.
Avançados Comparar diferenças antre PDFs, renomeação automática.

Exemplos de Operações Comuns

  1. Mesclar PDFs: Faça upload de vários arquivos, organize a ordem arrastando e soltando, e clique em "Mesclar PDF".
  2. OCR em PDF: Selecione a função "OCR PDF", envie seu documento escaneado e aguarde a conversão automática.
  3. Conversão de Formato: Use o recurso "PDF para Word" para converter documentos mantendo o layout original.

Manutenção e Atualização

Atualização de Versão

Para manter seu Stirling-PDF atualizado, execute os seguintes comandos no diretório do seu docker-compose.yml:

# Baixa a imagem mais recente
docker-compose pull
# Reinicia o serviço com a nova imagem
docker-compose up -d

Backup de Dados

É fundamental realizar backups regulares dos seus dados persistidos:

# Compacta e salva as configurações e dados de OCR
tar -czf backup-pdf-station-$(date +%Y%m%d).tar.gz ./configuracoes ./dados_ocr

Visualização de Logs

Para monitorar o funcionamento do aplicativo em tempo real:

# Exibe os logs do contêiner continuamente
docker logs -f stirling-pdf-app

Solução de Problemas Comuns

P1: Não consigo acessar o serviço após a inicialização.

  • Verifique se a porta 8080 está em uso por outro processo: netstat -tulpn | grep 8080
  • Confira o status do contêiner: docker ps | grep stirling-pdf-app
  • Examine os logs para identificar erros: docker logs stirling-pdf-app

P2: O reconhecimento OCR está gerando caracteres ilegíveis.

Certifique-se de que o pacote de dados do idioma correto foi baixado e montado no contêiner:

# Crie o diretório se não existir
mkdir -p ./dados_ocr
# Baixe o pacote de idioma (ex: Português do Brasil)
wget https://github.com/tesseract-ocr/tessdata/raw/main/por.traineddata -O ./dados_ocr/por.traineddata

Certifique-se de que por.traineddata (ou o idioma desejado) esteja listado na variável LANGS.

P3: Há um limite no tamanho dos arquivos que posso carregar.

Aumente o limite de tamanho de upload de arquivos modificando a variável de ambiente:

-e SYSTEM_MAXFILESIZE=250

(O valor é em Megabytes).

Tags: Docker Stirling-PDF pdf ocr docker-compose

Publicado em 7-31 01:16