DEV Community

NullPointerZen
NullPointerZen

Posted on

I turned a PPT deck into one web page and counted what survived

The moment that made me actually look was small: on the converted page I tried to copy a number off the top of a bar, and the mouse selected nothing. Two slides earlier, the text inside a SmartArt diagram selected fine and pasted fine. Same file, two different treatments.

I work on small internal tools at a content company, so I send decks outward all the time, and the usual mess follows: the other side has no Office, or a version that shifts my layout, or opens it on a tablet where everything crowds together, or edits two slides and forwards it on. Turning the deck into a single web page fixes all of that at once — they double-click, it opens, no install, no network, no scripts, and they cannot edit it. Whether that is a workable habit depends entirely on what is left after the conversion.

So I ran a round through the PPTX-to-HTML tool on ImgIng (https://imging.ai/). The sample is one I built myself: an 8-slide quarterly-review deck where the company, the warehouses, the order counts and the names are all invented. I stuffed it with a bar chart, a pie chart, a SmartArt flow diagram, a 7-row table, four shapes rotated to odd angles, and an embedded video clip. The conversion runs locally in the browser — I watched the network panel across six runs and counted zero non-GET requests. Everything below is that one sample, viewed on a desktop.

The half you can still select

Two words first, because they decide everything here. Selectable text means text you can drag across, copy, and find with Ctrl+F. Rasterizing means flattening something editable into a picture: it looks identical, but you cannot select it, cannot search it, and it blurs when you zoom. The opposite, a shape that stays sharp at any size, is vector.

Body text and SmartArt both landed in the selectable half. Selecting the whole output gave me 783 characters; the eight slides in the source add up to 770, and the dozen extra are page counters and similar. The five stage names in the flow diagram, along with their "done / in progress" labels, all select cleanly, and the rounded corners, strokes and shadows survived. Layout held too: all 8 slides came out 1280×720 at a 1.7778 ratio against the source's 1.7777, the four rotated objects landed at −22°, 15°, −160° and −28° matching the source one for one, and the table is still a real table at 7 rows and 35 cells.

The half you cannot

The bar chart and the pie chart are each one flat PNG. I searched the output for the month label on the axis, then for a value printed on a bar — both appear zero times. Those characters only exist inside the image now. The only selectable part left is the legend beside it, which is laid out as separate text.

Same output: SmartArt on the left stays vector with selectable text, the bar chart on the right is one PNG whose axis labels cannot be found

That is the inversion I did not expect. The hand-drawn flow diagram kept its vector form, while the chart — the more regular, more structured-looking object — got frozen first. I do not build this kind of thing, so I can only guess from the result: drawing a chart faithfully is an order of magnitude harder than drawing five rounded rectangles, and freezing it is the path that cannot go wrong. Worth noting that it did not take the lazy route overall — the whole 202,324-byte file contains exactly 3 PNGs (bar chart, pie chart, and one photo on slide 7), so five of the eight slides carry no bitmap at all.

Animation, video, and what to check before you send

The source had transitions on 7 slides and entrance animations on 5. None of them run. The page opens still and stays still. I had a complaint ready and ended up glad instead: on someone else's machine you never know whether motion will behave, and not running is at least predictable.

The video slide does need handling. The embedded clip did not survive; its place holds a grey dashed box with the English word Video in it, and the poster image I had set in PowerPoint went unused. That slide effectively has a hole in it now.

The tool does warn you, but only with a line or two — "embedded object detected; only its visible static appearance is kept" — merged by category, with no slide number and no object named. It is not a checklist, so you still have to look.

My habit now is to scroll the output end to end once and check three things: whether the chart text is still legible at normal reading size, whether any block came out empty, and what to do about the video slide. If you are considering this route, convert an old deck with similar structure first and see which of your own objects drop, before you put the real one through it.

Top comments (0)