---
title: "AB Print Content: un plugin WordPress ligero para imprimir en PDF y descargar contenido en Markdown"
date: 2026-05-12
author: "Alex Borrás"
source: https://alexborras.com/ab-print-content-un-plugin-wordpress-ligero-para-imprimir-en-pdf-y-descargar-contenido-en-markdown/
site: "El Blog de Alex Borrás"
---

# AB Print Content: un plugin WordPress ligero para imprimir en PDF y descargar contenido en Markdown

Plugin gratuito, de un solo archivo, sin dependencias externas, bajo licencia GPL v2+. Añade dos botones al final de tus posts y páginas: uno para imprimir o guardar como PDF, otro para descargar el contenido como archivo .md.

Índice de contenidos

- [1 El problema](#El_problema)
- [2 La solución: AB Print Content](#La_solucion_AB_Print_Content)
    - [2.1 Cómo funciona técnicamente](#Como_funciona_tecnicamente)
- [3 Capturas](#Capturas)
- [4 Instalación](#Instalacion)
- [5 Configuración](#Configuracion)
- [6 Compatibilidad](#Compatibilidad)
- [7 Licencia y descargo de responsabilidad](#Licencia_y_descargo_de_responsabilidad)
- [8 Descarga](#Descarga)
- [9 Si te resulta útil](#Si_te_resulta_util)
- [10 Sobre el autor](#Sobre_el_autor)

## El problema

Llevo años desarrollando y manteniendo [sitios WordPress](https://alexborras.com/wordpress/), tanto propios como de clientes. Cada cierto tiempo surge la misma necesidad puntual: **un visitante quiere imprimir un artículo o guardarlo como PDF**, pero al hacerlo desde el navegador se lleva por delante la cabecera, el sidebar, el footer, los avisos de cookies y los banners de newsletter. El resultado es un documento de 6 páginas donde el artículo ocupa 2.

Las soluciones habituales no me convencían:

- **Plugins «Print Friendly» comerciales o freemium**: cargan recursos externos, hacen llamadas a servicios SaaS, meten su propia marca, requieren cuenta.
- **Plugins basados en DOMPDF / mPDF / wkhtmltopdf**: añaden librerías pesadas, consumen memoria PHP y dan problemas en hostings compartidos como IONOS, donde tengo gran parte de mi fleet.
- **Soluciones solo CSS (****@media print)**: funcionan, pero requieren ajustar selectores específicos para cada tema (Astra, Hello Elementor, Avada, Divi…) y no resuelven el caso de exportar a otros formatos.

Quería algo más sencillo, ligero y portable. Lo construí, lo testeé en producción, y he decidido publicarlo.

## La solución: AB Print Content

Es un plugin de **un solo archivo PHP**, sin librerías externas, sin Composer, sin JavaScript adicional. Al activarlo, añade dos botones al final del contenido en posts y páginas:

- 🖨️ **Imprimir / PDF** — abre una vista limpia del artículo (solo título, fecha, autor y contenido) y lanza automáticamente el diálogo de impresión del navegador. Desde ahí, el usuario elige «Guardar como PDF» como destino y obtiene un PDF nítido sin ruido.
- 📄 **Markdown** — descarga el contenido del artículo como archivo .md con front-matter YAML (título, fecha, autor, URL fuente, nombre del sitio). Útil para archivar, citar, llevarlo a Obsidian, Notion, GitHub o cualquier herramienta basada en Markdown.

### Cómo funciona técnicamente

El plugin registra dos *rewrite endpoints* de WordPress:

- https://tu-sitio.com/mi-articulo/ab\_print/   → vista imprimible
- https://tu-sitio.com/mi-articulo/ab\_md/      → descarga del .md

**Para el PDF**, la estrategia es delegar al navegador. No genero el PDF en el servidor: rendero un HTML minimalista (sin tema, sin scripts, solo el contenido y estilos de impresión) y dejo que el navegador haga lo que ya sabe hacer perfectamente desde hace años, generar PDF desde HTML. Sin librerías, sin consumo de memoria PHP, sin dependencias.

**Para el Markdown**, escribí un conversor HTML→MD desde cero usando DOMDocument, la librería XML nativa de PHP. Cubre los elementos habituales: encabezados, párrafos, negritas, cursivas, enlaces, imágenes, listas anidadas, blockquotes, código inline y en bloque, tablas en formato GitHub, separadores y figures con caption. Iframes, scripts y elementos visuales sin equivalente en Markdown se descartan limpiamente.

El archivo final del plugin son unas 500 líneas de PHP. Lo puedes leer entero en 10 minutos.

## Capturas

		

## Instalación

1. Descarga el archivo ab-print-content.php desde el repositorio en GitHub (enlace al final del artículo).
2. Súbelo a tu instalación WordPress en la siguiente ruta: wp-content/plugins/ab-print-content/ab-print-content.php
3. Activa el plugin desde el panel de administración de WordPress (**Plugins → Plugins instalados**).
4. Visita cualquier post o página de tu sitio. Verás los dos botones al final del contenido.

Si al activar el plugin los enlaces dan error 404, ve a **Ajustes → Enlaces permanentes** y pulsa **Guardar cambios** para que WordPress refresque las reglas de reescritura. Es un paso habitual al instalar plugins que registran endpoints.

## Configuración

Después de activar, encontrarás un nuevo menú en el sidebar del admin: **AB Plugins → AB Print Content**. Desde ahí puedes:

- Activar o desactivar la inserción automática de botones al final del contenido.
- Mostrar u ocultar cada botón por separado (Imprimir / Markdown).
- Elegir en qué tipos de contenido aparecen los botones (posts, páginas y cualquier Custom Post Type público).

Si desactivas la inserción automática, los endpoints /ab\_print/ y /ab\_md/ siguen funcionando. Útil si prefieres enlazarlos manualmente desde una plantilla, un widget o un menú.

## Compatibilidad

- **WordPress:**5 o superior
- **PHP:**4 o superior
- **Page builders:** funciona out-of-the-box con Gutenberg, Astra y Hello Elementor. Con Elementor Pro, Avada o Divi, el filtro the\_content no siempre se dispara sobre el contenido renderizado por el builder. En esos casos, desactiva la inserción automática y enlaza los endpoints manualmente desde una plantilla del builder.
- **Caché:** los endpoints envían cabeceras nocache. Probado sin incidencias con WP Super Cache y WP Rocket.

## Licencia y descargo de responsabilidad

El plugin se publica bajo **GPL v2 o posterior**, la misma licencia que el propio WordPress. Esto significa que puedes:

- Usarlo en cualquier sitio, propio o de clientes, sin permiso adicional.
- Modificarlo, adaptarlo, extenderlo a tu gusto.
- Redistribuirlo, incluso comercialmente, siempre que mantengas la licencia GPL.

**El plugin se publica «tal cual», sin garantía y sin compromiso de soporte ni mantenimiento.** Lo uso en mis sitios y los de mis clientes, lo he testeado en distintos entornos, pero cada instalación de WordPress es diferente. **Pruébalo siempre en un entorno de staging antes de desplegarlo en producción.**

No me comprometo a corregir bugs, añadir funcionalidades a petición, ni garantizar compatibilidad con futuras versiones de WordPress. Si encuentras un problema o quieres ampliarlo, eres libre de hacer un fork del repositorio y adaptarlo.

## Descarga

El código está disponible en GitHub:

👉 [**github.com/alexborras/ab-print-content**](https://github.com/alexborras/ab-print-content)

Puedes:

- Descargar el archivo directamente desde la página del repositorio (botón verde «Code» → «Download ZIP»).
- Clonarlo con Git si trabajas así.
- Echarle un vistazo al código antes de instalarlo (las 500 líneas se leen en 10 minutos).

## Si te resulta útil

No pido suscripción a newsletter ni datos personales. Lo que me gustaría, si el plugin te resulta útil:

- **Deja una estrella ⭐ en el [repositorio de GitHub](https://github.com/alexborras/ab-print-content).** Es la forma estándar de validar un proyecto en la comunidad de desarrolladores y me permite ver cuánta gente lo está usando.
- **Comenta aquí abajo** cómo lo estás usando, en qué tipo de sitio, qué te parece. Me sirve para saber qué casos de uso tiene en el mundo real.
- Si lo redistribuyes, **enlaza este artículo** o el repositorio como fuente original. No es obligatorio (la GPL no lo exige), pero se agradece.

## Sobre el autor

Soy **Alex Borrás**, desarrollador WordPress con más de diez años en el sector. Mantengo una agencia que gestiona alrededor de 60 sitios en infraestructura compartida (IONOS y servidor dedicado), desarrollo plugins personalizados en PHP para necesidades concretas de clientes, y trabajo en SEO técnico, optimización y seguridad WordPress.

Este es el primero de varios plugins de mi colección «AB» que voy a ir publicando. Si quieres seguir lo que publico, suscríbete al feed RSS del blog o sígueme en [GitHub](https://github.com/alexborras).
