Ferramentas de PDF no servidor ou no navegador: como funcionam
Uma ferramenta de PDF do lado do servidor envia seu arquivo para os computadores de quem opera o serviço, processa lá e devolve o resultado. Uma ferramenta do lado do cliente faz o contrário: baixa o programa para o seu navegador, e o programa processa o arquivo no seu próprio dispositivo. No primeiro caso, seu documento viaja; no segundo, só o código.
Essa única diferença decide quem pode ver seu arquivo algum dia. Ela também explica por que os dois tipos de ferramenta parecem diferentes, falham de formas diferentes e servem para tarefas diferentes. Este guia mostra o que realmente acontece em cada um, passo a passo.
O que acontece em uma ferramenta do lado do servidor
- Você escolhe um arquivo. A página o envia pela internet para o servidor do operador, normalmente como um upload por HTTPS.
- O servidor o guarda, no mínimo em disco ou na memória durante a tarefa, muitas vezes em uma fila com arquivos de outras pessoas.
- Um programa no servidor, como uma biblioteca de PDF, um conversor ou um mecanismo de reconhecimento de texto, faz o trabalho.
- O resultado também é guardado, e a página te dá um link para baixá-lo.
- Os dois arquivos são excluídos depois, de acordo com as regras de retenção do próprio operador.
Esse costumava ser o único modelo viável. Os navegadores eram lentos, e as bibliotecas capazes de ler e reescrever PDFs só rodavam em servidores. Os navegadores de hoje executam código complexo com rapidez, e bibliotecas de PDF de código aberto escritas em JavaScript dão conta da maioria das tarefas do dia a dia dentro de uma aba.
O HTTPS protege a etapa 1 contra bisbilhoteiros. As etapas 2 a 5 dependem do operador: da segurança dele, de quem da equipe tem acesso, dos backups e das obrigações legais no país onde ficam os servidores. A maioria dos operadores lida com isso de forma responsável, mas você está confiando que façam isso.
O que acontece em uma ferramenta do lado do cliente
- Você abre a página da ferramenta. Seu navegador baixa a página e o JavaScript dela, como em qualquer site.
- Você escolhe um arquivo. A File API do navegador lê o arquivo do seu disco para a memória da aba. Nada é enviado.
- O código que roda na aba faz o trabalho. As partes pesadas costumam rodar em um Web Worker, uma linha de execução em segundo plano, para a página continuar respondendo.
- O resultado é montado na memória e entregue a você como download, por um link temporário que aponta para a memória do seu próprio navegador.
- Quando você fecha a aba, a memória é liberada. Não há nada para excluir em outro lugar, porque nada foi enviado.
As ferramentas de PDF do Kopitiam funcionam assim. Elas usam o pdf.js, o mecanismo de PDF de código aberto da Mozilla, para ler e desenhar as páginas, com o parser rodando em um Web Worker. Usam o pdf-lib, outra biblioteca de código aberto, para montar o novo PDF. Os dois rodam dentro da sua aba.
Por que ferramentas do lado do cliente funcionam offline
Depois que o programa está no seu navegador, ele não precisa da rede para rodar. Por isso o teste offline funciona: carregue a ferramenta, desligue o Wi-Fi, e a ferramenta continua. Se ela estivesse mesmo fazendo upload, falharia na hora.
Há detalhes que vale conhecer. O Kopitiam inicia o worker do seu mecanismo de PDF assim que uma página de ferramenta abre, e não quando você solta um arquivo, então as ferramentas continuam funcionando se a conexão cair depois que a página carregou. Alguns recursos menos comuns carregam código extra na primeira vez que você os usa, como o mecanismo de fontes para texto em escritas não latinas. Isso é código vindo até você, não seu arquivo saindo.
Os limites reais do processamento no navegador
Fazer o trabalho no seu dispositivo tem custos, e uma ferramenta honesta deveria te contar quais são.
- Memória. O arquivo inteiro fica na memória da aba, muitas vezes em mais de uma cópia enquanto é processado. Uma digitalização de 200 MB pode precisar de várias vezes isso. Os navegadores limitam a memória por aba, e nos celulares o limite é mais apertado.
- Velocidade. Quem faz o trabalho é o seu notebook ou celular, não um data center. Transformar 400 páginas em imagens, ou recomprimir todas as fotos de uma digitalização longa, demora bem mais em um aparelho mais antigo.
- Bateria e aquecimento. Uma tarefa longa no celular faz o processador trabalhar pesado por um tempo.
- Tarefas difíceis. Algumas tarefas são muito mais fáceis com software de servidor, como reconhecimento de texto em grandes acervos digitalizados ou a conversão de arquivos complexos do Office com layout exato. Muitas ferramentas que, fora isso, funcionam do lado do cliente mandam justamente essas tarefas para um servidor.
Na prática, o limite de tamanho de uma ferramenta do lado do cliente é o seu dispositivo, e não um número em uma página de preços. O Kopitiam não tem limite de tamanho de arquivo no código, então um arquivo muito grande ou funciona ou esgota a memória. Dividir um arquivo grande antes, ou usar um navegador de computador em vez do celular, geralmente resolve.
Imagine uma digitalização de 40 MB que você precisa reduzir para mandar por e-mail, com uma conexão móvel lenta. Uma ferramenta do lado do servidor precisa enviar os 40 MB inteiros antes de começar, e depois você baixa o resultado, então a maior parte da espera é a rede. Uma ferramenta do lado do cliente pula as duas transferências, mas o seu celular faz a compressão sozinho, o que pode demorar em uma digitalização longa. Nenhuma é sempre mais rápida: depende da sua conexão e do seu dispositivo.
Híbridos e afirmações para ler com cuidado
Nem toda ferramenta é puramente uma coisa ou outra. Você vai ver alguns padrões:
- Quase tudo local, uma parte no servidor. Tarefas simples rodam no navegador, enquanto conversão ou reconhecimento de texto são enviados. Procure uma declaração para cada ferramenta, não uma para o site inteiro.
- Upload criptografado. O arquivo é enviado, mas criptografado no trajeto e no armazenamento. É melhor que nada, mas o servidor ainda o descriptografa para trabalhar nele.
- Local com salvamento na nuvem. O trabalho é local, mas o resultado fica guardado na sua conta para você abrir depois. Isso é uma cópia no servidor, de propósito.
- Aplicativos de computador. Um programa instalado também funciona do lado do cliente, mas pode mandar arquivos ou dados de uso para a empresa. A política de privacidade dele continua importando.
Como verificar qual você está usando
Abra as ferramentas de desenvolvedor do navegador (F12 na maioria dos navegadores de computador), vá até a aba Rede e passe um arquivo de teste pela ferramenta. Uma ferramenta do lado do servidor mostra uma requisição mais ou menos do tamanho do seu arquivo saindo quando você começa. Uma do lado do cliente mostra só requisições pequenas, como anúncios ou pings de analytics, e nenhuma que cresça com o arquivo. Fazer a mesma tarefa com o Wi-Fi desligado é a versão rápida do mesmo teste.
Qual escolher
Para contratos, holerites, cartas médicas e documentos de identidade digitalizados, o processamento do lado do cliente é o melhor padrão: não existe uma cópia em outro lugar para vazar ou ficar guardada. Para um folheto público ou um cardápio, qualquer um serve. Quando você precisa de algo que um navegador não faz bem, como reconhecimento de texto em um acervo de 2.000 páginas, uma ferramenta confiável do lado do servidor com uma política de retenção clara é uma escolha razoável, usada para aquele arquivo e não como hábito.
Perguntas frequentes
- Qual a diferença entre ferramentas de PDF do lado do servidor e do lado do cliente?
- Uma ferramenta do lado do servidor faz upload do seu arquivo e o processa nos computadores do operador. Uma do lado do cliente manda o programa para o seu navegador e processa o arquivo no seu próprio dispositivo, então o arquivo nunca é enviado.
- Processar PDF no navegador é mais privado?
- Sim, porque não existe cópia do seu arquivo em lugar nenhum além do seu dispositivo. Uma ferramenta do lado do servidor pode ser bem administrada, mas você depende da segurança e das regras de retenção dela pelo tempo que ela guardar o arquivo.
- Por que ferramentas no navegador têm dificuldade com PDFs muito grandes?
- O arquivo inteiro precisa caber na memória da aba do navegador, muitas vezes mais de uma vez enquanto é processado. Celulares e notebooks mais antigos têm menos memória sobrando, então uma digitalização muito grande pode ficar lenta ou falhar. Dividir o arquivo antes costuma ajudar.
- Se um site carrega anúncios, ele ainda funciona do lado do cliente?
- Pode funcionar. Anúncios, fontes e analytics são requisições pequenas e separadas. O que importa é se o conteúdo do seu arquivo é enviado em algum momento, o que você pode verificar na aba Rede ou com o teste offline.
- O Kopitiam funciona no servidor ou no navegador?
- As ferramentas de PDF do Kopitiam funcionam do lado do cliente. Elas usam o pdf.js e o pdf-lib dentro da aba do navegador, o arquivo nunca é enviado e as ferramentas continuam funcionando se a conexão cair depois que a página carregou.