Skip to main content

📄 PDF Tool

Una app de escritorio sencilla para trabajar con tus PDFs — sin subir nada a internet.

Screenshot 2026-06-15 at 6 54 49 PM

Comprime, une, divide, protege y marca tus documentos —y conviértelos desde imágenes— desde tu propio ordenador. Gratis, de código abierto y sin anuncios.

Descargar

CI Release License: MIT Platform


✨ Qué puedes hacer

Herramienta Para qué sirve
🗜️ Comprimir PDF Reduce el peso de uno o varios PDFs hasta el tamaño en MB que elijas.
🔗 Unir PDFs Combina varios documentos en uno solo, en el orden que quieras y con el nombre que elijas.
✂️ Dividir PDF Separa un PDF en varios: por rangos de páginas, una página por archivo o cada N páginas.
🖼️ Imágenes a PDF Convierte cada imagen (JPG/PNG) en su propio PDF — y si quieres uno solo, únelos después.
🔒 Proteger PDF Añade o quita la contraseña de uno o varios PDFs a la vez.
💧 Marca de agua Repite un texto en diagonal sobre todas las páginas.

🔐 Todo ocurre en tu equipo. Tus archivos nunca salen de tu ordenador.

En Comprimir PDF, el modo predeterminado busca la reducción máxima. También puedes elegir Conservar texto y enlaces desde el selector de modo; el icono de ayuda explica la diferencia.


⬇️ Descargar e instalar

Ve a la página de descargas y elige el archivo de tu sistema:

🍎 macOS

  1. Descarga el archivo .dmg y ábrelo.
  2. Arrastra PDF Tool a la carpeta Aplicaciones.
  3. Ábrela desde Aplicaciones. macOS mostrará un aviso y no dejará abrirla aún (es normal: la app no está firmada, pero es segura).
  4. Ve a Menú Apple () → Ajustes del Sistema → Privacidad y Seguridad.
  5. Baja hasta la sección Seguridad: verás un mensaje que dice que se bloqueó “PDF Tool”. Pulsa Abrir de todas formas y confirma con tu contraseña o Touch ID.
    Solo hay que hacerlo la primera vez. A partir de ahí se abre con doble clic como cualquier app.

🪟 Windows

  1. Descarga el instalador (.exe) y ejecútalo.
  2. Si aparece SmartScreen: Más información → Ejecutar de todas formas.
    (El aviso sale porque el instalador no está firmado; es seguro.)

✅ Tus ajustes se guardan fuera de la app, así que se conservan al actualizar. Cuando publique una nueva versión, la app te avisa con un banner.


🤖 Para agentes de IA y la línea de comandos

Las mismas herramientas están disponibles como comando, pensado para agentes (Claude Code, Cursor, Copilot…) y scripts. Todo sigue ocurriendo en tu equipo.

pipx install pdf-tool-cli                    # solo la CLI (sin la app de escritorio)
pdf-tool list --json                         # qué herramientas hay y qué aceptan
pdf-tool compress informe.pdf --json         # comprimir y obtener el resultado en JSON
pdf-tool merge a.pdf b.pdf --output-name todo
echo "$CLAVE" | pdf-tool protect a.pdf --password-stdin

Cada herramienta tiene su ayuda (pdf-tool compress --help). Códigos de salida: 0 ok · 1 error al procesar · 2 uso inválido · 3 algún archivo del lote falló. pipx install 'pdf-tool-cli[gui]' instala además la app (comando pdftool).


🤝 Contribuir

¡Las contribuciones son bienvenidas! Puedes abrir un issue con ideas o errores, o mandar un pull request. La arquitectura es modular: añadir una herramienta nueva es crear una carpeta y la app la descubre sola. En el roadmap está lo que viene: una CLI para agentes de IA, a la par con la app.

🛠️ Para desarrolladores (montar el proyecto en local)

Requisitos

Arrancar

poetry install --all-extras   # incluye Flet (extra [gui]) para la app
poetry run pdftool        # abre la app
poetry run pytest         # corre los tests

Añadir una herramienta nueva

  1. Crea pdftool/tools/<id>/ con params.py, logic.py (función pura + tests), spec.py (registra la herramienta, sin Flet), panel.py y un __init__.py vacío.
  2. La app la muestra en la barra lateral y la CLI la ofrece como pdf-tool <id>, las dos automáticamente.

La lógica (logic.py) no importa Flet y se prueba sin UI; la UI (panel.py) solo arma controles. Detalles en AGENTS.md.

Publicar una versión (automatizado con GitHub Actions)

git tag v0.2.0
git push origin v0.2.0

Eso dispara release.yml, que corre los tests, construye macOS (.dmg) y Windows (instalador Inno Setup) en paralelo, hornea la versión del tag en el build y crea un GitHub Release en borrador con ambos instaladores. Revísalo y pulsa Publish release para que las apps instaladas detecten la actualización. Si los instaladores se construyen bien, publica también el paquete en PyPI (Trusted Publishing, entorno pypi de GitHub; sin tokens).

Los PRs que cambian la app, el empaquetado o sus dependencias ejecutan además Package smoke: construye e inspecciona el DMG de macOS y compila e instala de forma silenciosa el instalador de Windows. Antes de una release importante, seguir la checklist manual para validar la ventana y los diálogos nativos.

El número de versión es el tag — única fuente de verdad.

Build local (para depurar el empaquetado)

poetry run flet build macos      # -> build/macos/pdf-tool.app
poetry run flet build windows    # -> build/windows/

Hecho con 🐍 Python + Flet · Licencia MIT

Metadata

Release files for pdf-tool-cli 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pdf-tool-cli 1.1.0
File Size Uploaded Provenance Actions
pdf_tool_cli-1.1.0.tar.gz 57.1 kB With provenance Details for pdf_tool_cli-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pdf-tool-cli 1.1.0
File Interpreter ABI Platform Actions
pdf_tool_cli-1.1.0-py3-none-any.whl Python 3 none any Details for pdf_tool_cli-1.1.0-py3-none-any.whl

Total release size: 134.6 kB

Release files / pdf_tool_cli-1.1.0.tar.gz

Download URL pdf_tool_cli-1.1.0.tar.gz
Size 57.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a86c09d2954f55cf4847133c72aef10fd79f03d668eb7901535ed8b05ccf8e8f
BLAKE2b-256 checksum
How to use checksums
3b6dd17bfc6a4ef25dd408c3050269c01209d78fa9feafa669fd73b69ef3819f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / pdf_tool_cli-1.1.0-py3-none-any.whl

Download URL pdf_tool_cli-1.1.0-py3-none-any.whl
Size 77.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1c0fbb1b0b6e4981af4669329ec0049cd8c075706071436cb35b50054c9cb27
BLAKE2b-256 checksum
How to use checksums
a927b1a3df7a249e05117d568781e47548dd15ec19af1e4c628f2ba2d66b5290
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Security for pdf-tool-cli 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pdf_tool_cli-1.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page