Introdução

Quando alguém utiliza o AtlasDocs para juntar PDFs, extrair áudio de um vídeo ou ler texto de uma imagem, o arquivo não é enviado para o servidor. Em vez disso, o navegador baixa o programa que realiza o trabalho, e o processamento acontece na memória do dispositivo. O resultado é salvo diretamente no dispositivo, sem a necessidade de upload ou fila de espera.

Pitch: Como o AtlasDocs roda 140 ferramentas de arquivo sem enviar nada ao servidor

O Fundamento: WebAssembly

A base do processo é o WebAssembly, que permite executar no navegador programas escritos originalmente para computador. O AtlasDocs utiliza WebAssembly para rodar 140 ferramentas de arquivo, incluindo:

Ferramentas de Arquivo

  • 7-Zip: para arquivos compactados (via 7z-wasm)
  • FFmpeg: para vídeo e áudio (via ffmpeg.wasm), num Web Worker
  • Tesseract: para reconhecer texto em imagens (via tesseract.js)
  • SQLite: para bancos de dados (via sql.js)
  • Leitura de RAR: (via node-unrar-js); criar RAR não, por licença
  • pdf-lib e pdf.js: para editar e desenhar PDF

Ferramentas de Conversão e Visualização

Duas ferramentas enviam o arquivo ao servidor: converter Word, Excel e PowerPoint para PDF, e visualizar esses documentos. Não existe hoje um programa para navegador que abra arquivos do Office com fidelidade; quem faz isso bem é o LibreOffice, que precisa de um servidor. Nesses dois casos, o arquivo é convertido e descartado, e a ferramenta avisa na tela antes do envio. As outras 136 ferramentas continuam no dispositivo.

Limites e Soluções

O AtlasDocs implementa um gate de peso no pipeline de testes para garantir que a versão não seja mais pesada do que o limite. Além disso, o código é mantido com rigorosos testes unitários e de navegador real, garantindo a qualidade e a eficiência do processo.

Conclusão

O AtlasDocs oferece uma experiência de uso semelhante a uma ferramenta local, sem a necessidade de envio de dados para servidor. Isso é possível graças à utilização de WebAssembly e a implementação rigorosa de testes.

Dúvidas

Se você tiver dúvidas sobre como uma conversão específica funciona, pergunte nos comentários abaixo.

Fonte: https://atlasdocs.io/blog/como-o-atlasdocs-processa-arquivos-no-navegador

ArquivoAtlasdocsEnviarFerramentasRoda