Como decodificar Base64 para um arquivo PowerPoint
- Cole o Base64 em Base64 ou data URI. Um prefixo
data:application/vnd.openxmlformats-officedocument.presentationml.presentation;base64,não atrapalha, e Abrir arquivo .txt dá conta de strings longas salvas como texto. - Texto dos slides lista cada slide pelo número (Slide 1, Slide 2 e assim por diante), com o texto de cada parágrafo em uma linha própria. Um slide sem texto mostra
…. - A lista de entradas logo abaixo mostra todas as partes do arquivo, com Ver e Salvar.
- Clique em Baixar arquivo para salvar o .pptx.
O texto é extraído do XML dos slides com o parser XML do navegador. Nada na apresentação é executado, e a página não faz requisições de rede além das do contador de visitas da Cloudflare.
O que o texto dos slides inclui
Cada slide é um arquivo XML separado dentro do .pptx, e a prévia pega o texto de cada parágrafo dele: títulos, espaços reservados de corpo, caixas de texto, formas, formas agrupadas e células de tabela. Slides marcados como ocultos entram também. São lidos até 200 slides.
O que fica guardado em outro lugar não aparece:
| Conteúdo | Onde fica | Como acessar |
|---|---|---|
| Anotações do orador | ppt/notesSlides/notesSlideN.xml | Ver mostra o XML |
| Texto de SmartArt | ppt/diagrams/dataN.xml | Ver mostra o XML |
| Gráficos | ppt/charts/chartN.xml, com os números em uma pasta de trabalho embutida | Salvar o .xlsx embutido em ppt/embeddings/ |
| Imagens e vídeo | ppt/media/ | Ver mostra a prévia, Salvar baixa |
| Comentários | ppt/comments/ | Ver mostra o XML |
Os slides são listados pelo número no nome do arquivo, slide1.xml, slide2.xml e assim por diante. Normalmente essa é a ordem da apresentação, mas uma apresentação reorganizada por script pode manter números de arquivo antigos, então trate a numeração como referência.
Como confirmar que é um PPTX
Todo arquivo Office Open XML é um arquivo ZIP, então uma apresentação do PowerPoint começa com UEsDB em Base64, assim como um documento do Word ou uma pasta de trabalho do Excel. A ferramenta procura pastas ppt/ entre as entradas para diferenciá-los. Quando o conteúdo é de outro formato, um aviso diz qual e oferece a extensão certa:
| Detectado | Aviso |
|---|---|
| DOCX ou XLSX | “Isto parece ser DOCX, não PPTX.” com Baixar como .docx |
PDF (JVBERi0) | Uma apresentação exportada como PDF, com Baixar como .pdf |
DOC/XLS/MSG (OLE), 0M8R4KGxGuE | Um .ppt legado do PowerPoint 97–2003 ou um .pptx protegido por senha. A ferramenta não consegue distinguir, então digite ppt em Extensão no primeiro caso e mantenha pptx no segundo |
Uma apresentação com macros (.pptm) contém ppt/vbaProject.bin. O texto dela aparece normalmente na prévia, mas o PowerPoint só a abre com a extensão .pptm, então digite essa extensão antes de baixar.
Ler o texto dos slides em Python
A biblioteca padrão basta para listar o texto por slide, na mesma ordem que a prévia usa:
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()])
Para a apresentação de exemplo desta página, o script imprime ppt/slides/slide1.xml ['Hello from Base64', 'A two-slide deck built in your browser.'] e o equivalente para o slide 2. A ordem real dos slides está em ppt/presentation.xml, no elemento <p:sldIdLst>, se você precisar dela exata. Mais em Base64 em Python; a parte do arquivo compactado é tratada em Base64 para ZIP.
Perguntas frequentes
Como transformar Base64 em arquivo PowerPoint?
Cole a string acima e clique em Baixar arquivo. A apresentação é salva como decoded.pptx; mude o Nome do arquivo antes se quiser outro nome.
As anotações do orador aparecem?
Não no texto dos slides. As anotações ficam em ppt/notesSlides/notesSlide1.xml e assim por diante; clique em Ver ao lado de uma delas na lista de entradas para ler o XML, onde o texto está nos elementos <a:t>.
Dá para ver os slides como imagens?
Não. A página lê só o texto dos slides e não os desenha. As imagens usadas na apresentação podem ser vistas e salvas uma a uma a partir de ppt/media/ na lista de entradas.