Tipos de protección en un PDF
Los PDF soportan dos tipos distintos de protección:
- Contraseña de apertura (User Password): el documento no se puede abrir sin esta contraseña.
- Contraseña de propietario (Owner Password): el documento se puede leer pero ciertas operaciones están restringidas (imprimir, copiar, editar).
Importante: la contraseña de propietario puede ser omitida por herramientas avanzadas. Para contenido realmente sensible usa cifrado de extremo a extremo.
Niveles de cifrado PDF
| Estándar | Longitud | Uso recomendado |
|---|---|---|
| RC4 40-bit | 40 bits | Obsoleto, evitar |
| AES 128-bit | 128 bits | Adecuado para uso general |
| AES 256-bit | 256 bits | Recomendado actualmente |
Cifrar PDF con qpdf (gratuito)
# Instalar
sudo apt install qpdf # Linux
brew install qpdf # macOS
# Cifrar con AES-256
qpdf --encrypt "contraseña_usuario" "contraseña_propietario" 256 \
-- original.pdf protegido.pdf
# Solo contraseña de apertura
qpdf --encrypt "mi_contraseña" "" 256 -- original.pdf protegido.pdf
# Con restricciones: sin impresión, sin copia de texto
qpdf --encrypt "" "admin_pass" 256 \
--print=none --modify=none --extract=n \
-- original.pdf protegido.pdf
Cifrar PDF con Ghostscript
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
-dEncryptionR=6 -dKeyLength=256 \
-sUserPassword="contraseña_usuario" \
-sOwnerPassword="contraseña_propietario" \
-sOutputFile=protegido.pdf original.pdf
Cifrar PDF con Python (PyMuPDF)
import fitz
doc = fitz.open("original.pdf")
permisos = fitz.PDF_PERM_PRINT | fitz.PDF_PERM_COPY
doc.save("protegido.pdf",
encryption=fitz.PDF_ENCRYPT_AES_256,
user_pw="contraseña_usuario",
owner_pw="contraseña_propietario",
permissions=permisos)
Descifrar un PDF
qpdf --decrypt --password="contraseña" protegido.pdf descifrado.pdf
Buenas prácticas de seguridad
- Usa contraseñas de mínimo 12 caracteres con mayúsculas, números y símbolos.
- AES-256 es el único nivel razonablemente seguro en 2024.
- No envíes la contraseña junto con el PDF — usa un canal de comunicación diferente.
Conclusión
Para cifrar PDFs, qpdf es la herramienta más completa y gratuita en línea de comandos. Usa siempre AES-256 y contraseñas fuertes para cualquier documento que requiera protección real.
Casos de uso avanzados
Workflow legal y empresarial: contratos firmados se distribuyen en PDF/A (PDF Archival) que garantiza que el documento se renderice idénticamente en 50 años — todas las fonts embedded, no JavaScript, no contenido dinámico. La firma electrónica (PAdES, advanced eSignatures) está integrada en el PDF y se valida criptográficamente. Publicación académica: tesis y papers usan LaTeX → PDF para fórmulas matemáticas precisas; los journals requieren formato específico (Word con styles, LaTeX con clase del journal, o ambos). Convertir entre LaTeX, DOCX y PDF preservando estructura semántica (citations, references, equations) requiere herramientas especializadas como Pandoc. E-books: Amazon KDP requiere formato MOBI (legacy) o KFX (moderno) generado desde EPUB; Apple Books acepta EPUB nativamente; Kobo, PocketBook y Nook prefieren EPUB; Google Play Books acepta PDF y EPUB. Convertir manuscrito DOCX a EPUB requiere atención al markup semántico (headings jerárquicos, listas, blockquotes) para que el reflowable layout funcione bien. Translation workflows: traductores profesionales prefieren XLIFF como intermediate format — mantiene segmentación, translation memory matches, y context info que se pierde en plain text export.
Mejores prácticas y consejos profesionales
Style preservation: al convertir entre formatos editables (DOCX↔ODT↔RTF), usa siempre styles definidos en lugar de formatting directo — Heading 1/2/3 vs "16pt Bold". Esto garantiza que el outline se preserve y la conversión mantenga estructura jerárquica. Font embedding: para distribución cross-platform (PDF), embebe todas las fonts no-estándar — sin embedding, los lectores sustituyen automáticamente con fonts disponibles que pueden romper el layout. PDF/A para archivado: para documentos legales, regulatorios o de archivo permanente, exporta como PDF/A-1b (basic) o PDF/A-2u (Unicode + JPEG2000) — no permite contenido dinámico, garantiza self-contained rendering. Revision history: PDF, DOCX y ODT soportan tracked changes y comments — al convertir, decide si quieres preservarlos (DOCX→DOCX o DOCX→ODT) o aplanarlos (DOCX→PDF típicamente acepta solo el final state). Accesibilidad: documentos PDF para distribución pública deben cumplir PDF/UA — heading structure, alt text en imágenes, reading order definido para screen readers.
Compatibilidad y consideraciones técnicas
KaijuConverter usa LibreOffice 7.6 headless como engine principal con Pandoc 3.x como fallback para markup conversions complejas. Soportamos más de 60 formatos de documento (PDF, DOCX, DOC, ODT, RTF, TXT, HTML, MD, EPUB, MOBI, AZW3, FB2, LaTeX, RST y más). Fidelity de formato: preservamos fonts (con substitution fallback si la fuente original no está en el sistema), tamaños, colores, párrafos completos con indentación y line spacing, listas anidadas, tablas con cell merging y borders complejos, imágenes embedded con anchor positioning, headers/footers con campos dinámicos (page number, date, document title), footnotes y endnotes. Conversión a PDF: garantizamos PDF/A-conforme cuando se requiere, con font embedding correcto y ICC profile embedding para color fidelity absoluta. Limitaciones: documentos con macros (DOCX con VBA) no ejecutan los macros durante conversión — solo se preserva el contenido estático. PDFs escaneados (imagen sin OCR) no son editables — necesitan OCR previo (Tesseract, ABBYY) para extraer texto. Privacidad: TLS 1.3, contenedores Docker aislados, eliminación tras 2 horas. Performance: documento típico de 20 páginas tarda 3-8 segundos; documentos grandes con muchas imágenes pueden requerir 15-30 segundos.
Conversiones relacionadas
Conversiones de documento que siguen este tema: