Muhammad Arslan
Me contrate
Voltar aos projetos

PDF Toolkit

Uma suíte baseada no navegador para mesclar, dividir, organizar, converter e comprimir PDFs, onde os arquivos nunca saem do seu dispositivo.

Papel: Solo full-stack developmentCronograma: 2025Tipo: Web app / product

Next.js 16

React 19

Tailwind CSS 4

pdf-lib

PDF.js

Ghostscript (WASM)

dnd-kit

JSZip

Organizador do PDF Toolkit com três páginas sintéticas de documentos de projeto

Visão geral

O PDF Toolkit é uma solução no lado do cliente para ferramentas como o iLovePDF. Ele lida com as tarefas diárias de PDF que as pessoas precisam, incluindo combinar arquivos, extrair páginas, reordenar e rotacionar, converter de e para imagens e comprimir, e faz tudo isso dentro do navegador. Nada é enviado para servidores. O site de marketing e o catálogo de ferramentas antecedem uma série de espaços de trabalho ativos, cada um funcionando como uma ferramenta independente.

O Problema

Todas as populares ferramentas de PDF online funcionam da mesma forma. Você envia seu documento para um servidor, ele é processado e você baixa o resultado. Para uma rápida conversão de imagem, tudo bem. Para um contrato assinado, uma varredura de identidade, um formulário médico ou um demonstrativo financeiro, isso significa entregar um arquivo sensível a terceiros e confiar em sua política de retenção. Havia uma lacuna clara para uma ferramenta que faz as mesmas coisas, mas mantém cada arquivo na própria máquina do usuário.

Meu Papel e Abordagem

Desenvolvi o produto inteiro: o site de marketing, o catálogo de ferramentas e cada ferramenta de trabalho. A decisão central foi arquitetônica. Fazer todo o trabalho real de PDF no navegador. Essa escolha orientou tudo o mais, porque o processamento no lado do cliente significava nenhum servidor para executar, nenhum custo por arquivo e uma garantia de privacidade que eu poderia declarar abertamente: seus arquivos nunca são enviados para lugar nenhum.

Stack Tecnológica

FrameworkNext.js 16 (App Router) with React 19
Edição de PDFpdf-lib for structural operations (merge, split, page manipulation)
Renderização de PDFPDF.js (pdfjs-dist) for previews and thumbnails
CompressãoGhostscript compiled to WebAssembly, which runs entirely in the browser
Interaçãodnd-kit for drag-and-drop page and file ordering; JSZip for bulk image downloads
EstilizaçãoTailwind CSS 4 with a shadcn-inspired component set
AnalyticsPostHog

Principais Funcionalidades

Mesclar PDFcombinar múltiplos arquivos, reordená-los arrastando e soltando e exportar um único documento.
Dividir PDFextrair intervalos específicos de páginas (por exemplo, 1-2,5) para um novo arquivo.
Organizar PDFreordenar, girar e excluir páginas antes de exportar.
Imagem para PDFtransformar arquivos JPG e PNG em um PDF com controle de ordenação por arrastar e soltar.
PDF para Imagemrenderizar páginas para imagens com visualizações em miniatura e download em formato ZIP.
Visualizador de PDFum leitor integrado com zoom e navegação de páginas, alimentado pelo PDF.js.
Comprimir PDFreduzir o tamanho dos arquivos usando Ghostscript no navegador.
Construído para descobertaum site de marketing completo com sitemap, arquivo robots e um llm.txt para rastreadores de IA.

Galeria

Organizador de páginas do PDF Toolkit com brief de projeto sintético, mapa do sistema e checklist de lançamento
Organizador do PDF Toolkit exibindo a configuração de exportação a 90 graus para uma página de PDF de exemplo

Desafios e Soluções

A parte difícil de "nenhum servidor" é que o navegador tem que fazer tudo o que um servidor normalmente faria. Dividi o trabalho em dois mecanismos. O pdf-lib lida com edições estruturais onde as partes internas do documento são reescritas, e o PDF.js lida com a renderização sempre que uma página precisa ser mostrada ou transformada em uma imagem.

A compressão foi o problema de destaque. A compressão real de PDF geralmente depende do Ghostscript, uma ferramenta nativa pesada que vive em um servidor. Para manter intacta a promessa de privacidade, usei uma compilação de WebAssembly do Ghostscript para que o mesmo mecanismo seja executado localmente no navegador. A compressão é real e ainda nada é carregado. O reordenamento de páginas e arquivos precisava parecer físico em vez de complicado, então usei o dnd-kit para arrastar e soltar suavemente e agrupei as exportações de várias imagens em um único ZIP com JSZip em vez de disparar uma dúzia de downloads.

Resultado

O resultado é um kit de ferramentas completo no estilo iLovePDF que roda sem backend, sem armazenamento de arquivos e sem custo de hospedagem além da entrega de arquivos estáticos, oferecendo algo que as soluções tradicionais não conseguem: a garantia confiável de que os documentos nunca saem do dispositivo. É uma ferramenta genuinamente útil e demonstra quanto processamento pesado os navegadores modernos são capazes de assumir.

Tem um problema de produto semelhante?

Compartilhe o produto atual, o resultado que você precisa e as restrições que já estão no caminho. Usarei isso para definir um primeiro marco sensato.

Serviços de desenvolvimento de aplicações web
Iniciar briefing do projeto
Todos os projetosPróximo projetoVCM
PDF Toolkit: Ferramentas de PDF no Navegador com Foco em Privacidade e Sem Uploads | Muhammad Arslan