Return a PDF rendering of a .pptx for high-fidelity in-browser preview.
The frontend hits this endpoint first; if it succeeds it shows the PDF
in an <iframe> (vector, text-selectable, perfect font metrics).
On a 503 response — meaning the server doesn’t have LibreOffice on
PATH — the frontend falls back to the existing pptxviewjs canvas
renderer so the UX still works on developer machines without soffice
installed.
Mirrors the durable-storage restore path that /preview uses: for
files whose local copy was reaped but whose storage_key is still in
durable storage, we materialize before conversion (returning 409 on
checksum mismatch, 503 on durable backend failure — same semantics as
/preview). Without this, durable-only .pptx files would 404 here
and silently fall back to the canvas renderer, which is exactly the
UX regression flagged in PR #542 review.