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

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.

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 git+https://github.com/jasp-nerd/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.0.tar.gz (8.3 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.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unprezi-0.1.0.tar.gz
  • Upload date:
  • Size: 8.3 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.0.tar.gz
Algorithm Hash digest
SHA256 d944255a98aa6bc8bb1292e6eed88505dce8d7f1800b8091050be250d991827d
MD5 60bd4245845f9587f9c5a3807852bf44
BLAKE2b-256 a869b4cf1b8811b20b390fcb8ddd2b10285662ab27b053ee7ebdaef264364910

See more details on using hashes here.

File details

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

File metadata

  • Download URL: unprezi-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 126a08dd554e8785e77873f712c438f71375e20332e1504ae6927d1817b529c5
MD5 0233d6348e7a0289cb60ffe91162e4b6
BLAKE2b-256 2f63308520fd67dea00597495dcf48e4e8709ad47dbc266c0a59c77007c6efdd

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