Skip to main content

Export prezi.com presentations to PDF. Drives a headless browser and screenshots every step.

Project description

unprezi — export any prezi.com presentation to a clean PDF

PyPI MIT license Python 3.9+ Built on Playwright

unprezi

Export a prezi.com presentation to a PDF. It opens the presentation in a headless browser, steps through the whole path, and saves each stop as a page. Works on today's prezi.com/view/ share links, and you don't need a Prezi Plus/Pro account.

unprezi running in a terminal, exporting a prezi to a 16-page PDF

Why this exists

I needed to get a Prezi out as a PDF and reached for prezi2pdf, the tool everyone links to. It doesn't work anymore. Prezi locked down the storyboard API it pulled slides from, so now it just 403s. A few open issues on that repo are people hitting the same wall.

So unprezi takes the other route. Instead of asking Prezi's API for the slides, it watches the presentation play: open it in a browser, press the arrow key, screenshot the canvas at every step, stitch the frames into a PDF. Slower than an API call, but it survives whatever Prezi changes on their backend, because the one thing it leans on is the presentation playing in a tab.

Install

pip install unprezi
playwright install chromium

The second line is a one-time download of the browser Playwright drives (~150 MB).

Use it

unprezi "https://prezi.com/view/XXXXXXXXXXXXXXXX/"

That writes <presentation-title>.pdf next to you. The URL is the share link you get from Prezi's "Share" button, or just the address bar while you're viewing one.

Common flags:

Flag What it does
-o out.pdf Pick the output path.
--jpeg-quality 82 Recompress pages as JPEG. Much smaller PDF, slightly softer.
--png -o frames/ Write one PNG per step instead of a PDF.
--scale 3 Render sharper (default is 2). Use it if text looks soft.
--delay 2.5 Fixed wait per step instead of auto-detecting. Bump it if a frame looks caught mid-zoom.
--headed Show the browser so you can watch it work.

Full list: unprezi --help.

What you get

One page per stop along the presentation path, at the resolution the viewer renders. Prezis zoom back out to a section overview between topics, and those overview frames are real stops on the path, so they land in the PDF too. You get the presentation the way it plays, not a guess at where the slide boundaries are.

What it can't do

  • It captures each step after it settles, so zoom animations and transitions don't carry into a static PDF. You keep the frames, without the motion between them.
  • Embedded video and audio become a still image of wherever they were paused.
  • Timing is a best guess. unprezi waits for each step to stop moving before it shoots, but a heavy step can still get caught mid-zoom. --delay is the knob for that.
  • Older "classic" Prezis (the prezi.com/<id>/<title>/ ones) work, but their canvas renders smaller, so bump --scale if you want them crisp.

FAQ

Do I need a paid Prezi account? No. If you can open the link, unprezi can export it.

How is this different from prezi2pdf? prezi2pdf asked Prezi's storyboard API for pre-rendered slide images. That API is locked down now, so it fails on current links. unprezi screenshots the live presentation instead, which is why it still works.

Why is it slow? It plays the whole presentation in real time and waits for each step to settle before shooting. A 40-step prezi takes a few minutes. That's the trade for not depending on a private API.

A frame came out mid-animation. Raise --delay (e.g. --delay 3) so it waits longer before each shot.

Using it from Claude Code

There's a Claude skill in here too. Drop the skill/unprezi folder into your skills directory and Claude can export a Prezi for you, either by running this CLI or by driving its own Playwright browser the same way when the CLI isn't installed.

A note on use

unprezi is for getting presentations out that you have the right to: your own talks, or public ones you want to read offline. It only sees what's already visible from a share link; it doesn't get past logins or private content. Respect the author's work and Prezi's terms, and don't pass off someone else's presentation as your own.

Credit

Built in the spirit of prezi2pdf by Gertje823, which is what got people exporting Prezis in the first place. Different approach under the hood, same goal.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unprezi-0.1.1.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unprezi-0.1.1-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file unprezi-0.1.1.tar.gz.

File metadata

  • Download URL: unprezi-0.1.1.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for unprezi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 77a57000f9fa79f94f95bf129dd7b08740d0bdfb0b00d93a774bc0ab47bb4529
MD5 b897b5432ba25024e0e701e7644b9752
BLAKE2b-256 9c7146dd20be11c8e264e322b6ddc34499b5da93e2556dbab35b4c4844bd508d

See more details on using hashes here.

File details

Details for the file unprezi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: unprezi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for unprezi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 44977debc02a1ef7ff3d602d933b75c0e9fcd12b656865ec0d85bc5921657b2e
MD5 83205cc0da88592be9e7535fdd57c3fe
BLAKE2b-256 79dc0dceb0febe2e8eed0172919ec116fdb264b8502d0d58bb00f4df15821daf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page