Editor e gestor de PDFs para Windows, macOS e Linux — rápido, offline e sem subscrições.
| Visualizador PDF | Dividir PDF |
|---|---|
![]() |
![]() |
| Comprimir PDF | Encriptar PDF |
|---|---|
![]() |
![]() |
| 100% Offline | Os teus ficheiros nunca saem do teu computador |
| Gratuito para sempre | Sem subscrições, sem contas, sem anúncios |
| Tudo-em-um | 11 ferramentas PDF numa única aplicação |
| Multiplataforma | Windows, macOS e Linux |
| Rápido | Lazy rendering — abre PDFs grandes instantaneamente |
PDFApps reúne num só lugar todas as operações do dia a dia com ficheiros PDF, sem necessidade de ligação à Internet nem conta em serviços externos.
| Ferramenta | Descrição |
|---|---|
| Dividir | Corta o PDF em vários ficheiros por intervalos de páginas definidos pelo utilizador |
| Juntar | Combina múltiplos PDFs (arrastar e largar) numa única saída, com ordenação livre |
| Rodar | Roda páginas individuais ou todo o documento em qualquer ângulo |
| Extrair páginas | Exporta um subconjunto de páginas para um novo PDF |
| Reordenar | Interface drag-and-drop para reordenar ou remover páginas com pré-visualização |
| Comprimir | Reduz o tamanho do ficheiro com três níveis de compressão (extrema / recomendada / leve) |
| Encriptar | Protege o PDF com senha ou remove a proteção existente |
| Marca d'água | Sobrepõe um PDF de marca/carimbo sobre as páginas com controlo de opacidade e posição |
| OCR | Reconhece texto em PDFs digitalizados — suporta PT, EN, ES, FR e DE |
| Converter | Converte PDF para imagens (PNG/JPG com controlo de DPI), Word (DOCX) ou texto simples (TXT) |
| Editar | Editor visual inline: redigir, inserir texto, imagem, realce, notas, formulários e edição de texto existente |
| Informação | Mostra metadados, número de páginas, tamanho e propriedades do documento |
- Scroll contínuo por todas as páginas (estilo Adobe Acrobat)
- Lazy rendering — abre instantaneamente; páginas renderizadas em background à medida que são vistas
- Zoom com Ctrl+scroll ou botões de zoom
- Seleção e cópia de texto por arrastar
- Suporte a PDF com senha
- Drag & drop de ficheiros
- Interface escura moderna com painel lateral colapsável
- Suporte completo a arrastar e largar ficheiros em todos os campos
- 100% offline — os teus ficheiros nunca saem do teu computador
- Multiplataforma: Windows, macOS e Linux
- Instalador com deteção e instalação automática do motor OCR (Tesseract) — Windows
| Plataforma | Requisito |
|---|---|
| Windows 10/11 64-bit | PDFAppsSetup.exe — inclui tudo; Tesseract instalado automaticamente |
| macOS 10.14+ | PDFApps.app — Tesseract via brew install tesseract tesseract-lang |
| Linux (Ubuntu/Debian/Arch) | Binário PDFApps — Tesseract via sudo apt install tesseract-ocr |
- Python 3.14+
- Dependências em requirements.txt
Tesseract OCR é necessário para a funcionalidade de reconhecimento de texto.
- Windows: o instalador trata disto automaticamente
- macOS:
brew install tesseract tesseract-lang- Linux:
sudo apt install tesseract-ocr tesseract-ocr-por tesseract-ocr-eng
- Descarrega
PDFAppsSetup.exe - Executa o instalador e segue os passos
- O PDFApps ficará disponível no Menu Iniciar e, opcionalmente, no Ambiente de Trabalho
Para desinstalar, vai a Definições → Aplicações ou usa o atalho de desinstalação no Menu Iniciar.
Opção A — A partir do código fonte (recomendado)
# 1. Dependências do sistema
sudo apt update
sudo apt install python3-pip python3-venv tesseract-ocr tesseract-ocr-por tesseract-ocr-eng
# 2. Clonar o repositório
git clone https://github.com/nelsonduarte/PDFApps.git
cd PDFApps
# 3. Ambiente virtual e dependências Python
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 4. Correr
python3 pdfapps.pyOpção B — Compilar um binário nativo
# (com o venv ativo)
python -m PyInstaller --noconfirm pdfapps.spec
# Executar
./dist/PDFAppsO PyInstaller não faz cross-compile — o binário tem de ser compilado no próprio Linux.
Opção A — A partir do código fonte (recomendado)
# 1. Instalar Homebrew (se necessário)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 2. Dependências do sistema
brew install python tesseract tesseract-lang
# 3. Clonar o repositório
git clone https://github.com/nelsonduarte/PDFApps.git
cd PDFApps
# 4. Ambiente virtual e dependências Python
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 5. Correr
python3 pdfapps.pyOpção B — Compilar um binário nativo (.app)
# (com o venv ativo)
python -m PyInstaller --noconfirm pdfapps.spec
# Executar
open dist/PDFAppsO PyInstaller não faz cross-compile — o binário tem de ser compilado no próprio macOS.
# Clonar o repositório
git clone https://github.com/nelsonduarte/PDFApps.git
cd PDFApps
# Windows
python -m venv venv
venv\Scripts\activate
# macOS / Linux
python3 -m venv venv
source venv/bin/activate
# Instalar dependências
pip install -r requirements.txt
# Executar
python pdfapps.py # Windows
python3 pdfapps.py # macOS / LinuxO processo de build gera três executáveis na pasta dist/:
# 1. Aplicação principal
python -m PyInstaller --noconfirm pdfapps.spec
# 2. Desinstalador
python -m PyInstaller --noconfirm uninstaller.spec
# 3. Instalador (bundla os dois anteriores)
python -m PyInstaller --noconfirm installer.spec| Ficheiro | Descrição |
|---|---|
dist/PDFApps.exe |
Aplicação principal (~78 MB) |
dist/PDFAppsUninstall.exe |
Desinstalador standalone (~11 MB) |
dist/PDFAppsSetup.exe |
Instalador para distribuição (~99 MB) |
| Componente | Tecnologia | Versão |
|---|---|---|
| Interface gráfica | PySide6 (Qt 6) | 6.10.2 |
| Renderização PDF | PyMuPDF (fitz) | 1.27.2 |
| Manipulação PDF | pypdf | 6.8.0 |
| OCR | Tesseract + pytesseract | 0.3.13 |
| Exportação DOCX | python-docx | 1.2.0 |
| Processamento de imagem | Pillow | 12.1.1 |
| Ícones | QtAwesome | 1.4.1 |
| Empacotamento | PyInstaller | 6.19.0 |
PDFApps/
├── pdfapps.py # Ponto de entrada da aplicação
├── installer.py # Instalador (UI tkinter)
├── uninstaller.py # Desinstalador
├── pdfapps.spec # Configuração PyInstaller — app
├── installer.spec # Configuração PyInstaller — instalador
├── uninstaller.spec # Configuração PyInstaller — desinstalador
├── icon.ico # Ícone da aplicação
├── requirements.txt # Dependências Python
├── app/ # Código fonte modular
│ ├── constants.py # Cores e constantes de design
│ ├── styles.py # Stylesheet Qt (tema escuro/claro)
│ ├── utils.py # Utilitários partilhados
│ ├── widgets.py # Widgets reutilizáveis (DropFileEdit, etc.)
│ ├── base.py # Classe base para ferramentas (BasePage)
│ ├── window.py # Janela principal (MainWindow)
│ ├── tools/ # Ferramentas de manipulação PDF
│ │ ├── dividir.py
│ │ ├── juntar.py
│ │ ├── rotar.py
│ │ ├── extrair.py
│ │ ├── reordenar.py
│ │ ├── comprimir.py
│ │ ├── encriptar.py
│ │ ├── marca_dagua.py
│ │ ├── converter.py
│ │ ├── info.py
│ │ └── ocr.py
│ ├── viewer/ # Visualizador PDF integrado
│ │ ├── canvas.py # Lazy rendering de páginas em background threads (fitz)
│ │ └── panel.py # Painel do visualizador com controlos
│ └── editor/ # Editor PDF visual
│ ├── canvas.py # Canvas de edição (PdfEditCanvas)
│ ├── tab.py # Tab de edição (TabEditar)
│ └── dialogs.py # Diálogos auxiliares
└── dist/ # Executáveis gerados (após build)
Se o PDFApps te é útil, considera apoiar o desenvolvimento:
O teu nome/logo aqui — torna-te sponsor
Obrigado a todos os que apoiam este projeto!
Este projeto está licenciado sob a MIT License.



