Cómo decodificar Base64 a un archivo PowerPoint
- Pega el Base64 en Base64 o data URI. Un prefijo
data:application/vnd.openxmlformats-officedocument.presentationml.presentation;base64,no es problema, y Abrir archivo .txt sirve para cadenas largas guardadas como texto. - Texto de las diapositivas lista cada diapositiva bajo su número (Diapositiva 1, Diapositiva 2, etc.), con el texto de cada párrafo en su propia línea. Una diapositiva sin texto muestra
…. - La lista de entradas de debajo muestra todas las partes del archivo con Ver y Guardar.
- Pulsa Descargar archivo para guardar el .pptx.
El texto se extrae del XML de las diapositivas con el analizador XML del navegador. No se ejecuta nada de la presentación, y la página no envía más peticiones de red que las del contador de visitas de Cloudflare.
Qué incluye el texto de las diapositivas
Cada diapositiva es un archivo XML aparte dentro del .pptx, y la vista previa toma el texto de cada párrafo que contiene: títulos, marcadores de posición del cuerpo, cuadros de texto, formas, formas agrupadas y celdas de tablas. Se incluyen las diapositivas marcadas como ocultas. Se leen hasta 200 diapositivas.
Lo que se guarda en otro sitio no aparece:
| Contenido | Dónde está | Cómo llegar a él |
|---|---|---|
| Notas del orador | ppt/notesSlides/notesSlideN.xml | Ver muestra el XML |
| Texto de SmartArt | ppt/diagrams/dataN.xml | Ver muestra el XML |
| Gráficos | ppt/charts/chartN.xml, con los números en un libro incrustado | Guardar el .xlsx incrustado de ppt/embeddings/ |
| Imágenes y vídeo | ppt/media/ | Ver los previsualiza, Guardar los descarga |
| Comentarios | ppt/comments/ | Ver muestra el XML |
Las diapositivas se listan según el número de su nombre de archivo, slide1.xml, slide2.xml, etc. Normalmente es el orden de la presentación, pero una presentación reordenada por un script puede conservar números de archivo antiguos, así que toma la numeración como orientativa.
Comprobar que es un PPTX
Todo archivo Office Open XML es un archivo ZIP, así que una presentación de PowerPoint empieza por UEsDB en Base64, igual que un documento de Word o un libro de Excel. La herramienta busca carpetas ppt/ entre las entradas para distinguirlos. Cuando el contenido es de otro formato, una nota lo indica y ofrece la extensión correcta:
| Detectado | Nota |
|---|---|
| DOCX o XLSX | «Esto parece DOCX, no PPTX.» con Descargar como .docx |
PDF (JVBERi0) | Una presentación exportada a PDF, con Descargar como .pdf |
DOC/XLS/MSG (OLE), 0M8R4KGxGuE | Un .ppt antiguo de PowerPoint 97–2003, o un .pptx protegido con contraseña. La herramienta no puede distinguirlos, así que escribe ppt en Extensión en el primer caso y deja pptx en el segundo |
Una presentación con macros (.pptm) contiene ppt/vbaProject.bin. Su texto se previsualiza con normalidad, pero PowerPoint solo la abre con la extensión .pptm, así que escríbela antes de descargar.
Leer el texto de las diapositivas con Python
La biblioteca estándar basta para listar el texto de cada diapositiva, en el mismo orden que usa la vista previa:
import base64, io, re, zipfile
import xml.etree.ElementTree as ET
A = "{http://schemas.openxmlformats.org/drawingml/2006/main}"
with open("deck.b64") as f:
pptx = base64.b64decode(f.read())
with zipfile.ZipFile(io.BytesIO(pptx)) as z:
slides = [n for n in z.namelist() if re.fullmatch(r"ppt/slides/slide\d+\.xml", n)]
slides.sort(key=lambda n: int(re.search(r"\d+", n).group()))
for name in slides:
root = ET.fromstring(z.read(name))
lines = ["".join(t.text or "" for t in p.iter(A + "t")) for p in root.iter(A + "p")]
print(name, [s for s in lines if s.strip()])
Con la presentación de ejemplo de esta página imprime ppt/slides/slide1.xml ['Hello from Base64', 'A two-slide deck built in your browser.'] y lo mismo para la diapositiva 2. El orden real de las diapositivas está en ppt/presentation.xml, en el elemento <p:sldIdLst>, si lo necesitas exacto. Más en Base64 en Python; la parte del archivo comprimido se explica en Base64 a ZIP.
Preguntas frecuentes
¿Cómo convierto Base64 en un archivo PowerPoint?
Pega la cadena arriba y pulsa Descargar archivo. La presentación se guarda como decoded.pptx; cambia antes el Nombre de archivo si quieres otro nombre.
¿Se muestran las notas del orador?
No en el texto de las diapositivas. Las notas se guardan en ppt/notesSlides/notesSlide1.xml y siguientes; pulsa Ver junto a una en la lista de entradas para leer su XML, donde el texto está en elementos <a:t>.
¿Puedo ver las diapositivas como imágenes?
No. La página solo lee el texto de las diapositivas y no las dibuja. Las imágenes usadas en la presentación se pueden ver y guardar una a una desde ppt/media/ en la lista de entradas.