Migrating Sozi Presentations to PDF
Convert Sozi Presentations to PDF
AConvert step-by-step guide for convertingexported .sozi.html presentations into PDF files.files using the official Sozi exporter or a lightweight Node.js-based migration script.
Overview
Sozi presentationsis an SVG-based presentation tool that creates zooming and animated presentations. Presentations are SVG-based, zooming presentationstypically exported as a single .sozi.html file.
If archive,you print,need a printable, archivable, or shareshareable them as static documents,version, you oftencan wantconvert the presentation into a plain PDF.
TL:DR
# Install exporter
npm install -g sozi-export
# Install pdfjam (macOS)
brew install texlive
# Convert presentation
sozi-to-pdf presentation.sozi.html presentation.pdf
Or use the lightweight alternative:
node sozi-pdf-migrations.js
Option 1: Official Sozi Export
The recommended toolapproach isuses sozi-export, which readsunderstands the presentation'Sozi's own frame definitions and exports exactly the frames you authored. This is more reliable than generic tools like DeckTape, which don't understand Sozi's frame model and tend to produce detached-frame errors or hang until they time out.
This guide covers the full setup on macOS, including all dependencies.
Dependencies
You need three things:
node --versionbrew install nodesudo apt install nodejs npmsozi-exportpdfjamsozi-export
Note:sozi-exportexportseach frame exactly asitsdesigned.ownPrerequisites
one-pageInstall:
andNode.jsthensozi-exportcallspdfjamto stitch them together. Ifpdfjamis missing you'll seeERROR:pdfjamexecutable(includednotinfound,TeXsoLive)itmust be installed before exporting.
Step 1 —
Install theSozi exporter
Export
npm install -g sozi-export
This provides two commands: sozi-to-pdf and sozi-to-video.
Step 2 —
Install pdfjam (TeX Live)
pdfjam comes from TeX Live. Install it for your platform:
macOS (Homebrew):
brew install texlive
LinuxUbuntu (Debian/Ubuntu):/ Debian
sudo apt install texlive-extra-utils
Windows:Windows
Install TeX Live using the official installer, which includes pdfjam.Live:
Then confirm pdfjam is available:https://www.tug.org/texlive/
which pdfjam # macOS / Linux
where pdfjam # Windows
If it isn't found even after installing, open a new terminal so your PATH is refreshed. On macOS you may also need to add the TeX binary directory:
export PATH="/Library/TeX/texbin:$PATH"
Step 3 —
Convert a single presentation
Presentation
sozi-to-pdf presentation.sozi.html presentation.pdf
TheEach outputSozi frame becomes a separate PDF will contain one page per Sozi frame, in order.page.
Step
Batch 4 — Convert many presentations at once
To batch-convert every .sozi.html file in the current folder, stripping the .sozi.html suffix so the output is named name.pdf:
macOS / Linux (bash):
for f in *.sozi.html; do
sozi-to-pdf "$f" "${f%.sozi.html}.pdf"
done
The quotes around "$f" matter if your filenames contain spaces.
Windows (PowerShell):PowerShell
Get-ChildItem *.sozi.html | ForEach-Object {
sozi-to-pdf $_.Name ($.Name(_.Name -replace '\.sozi\.html$', '.pdf')
}
Option 2 — Node.js Migration Script
If you already have Node.js/npm available and do not want to install TeX Live or pdfjam, you can use the custom migration script provided by LNC Docs Resources.
This provides a lightweight alternative for converting Sozi presentations to PDF using only npm-based tooling.
Download
Usage
node sozi-pdf-migrations.js
Use this approach when you want to avoid installing TeX Live and only require a Node.js-based solution.
Troubleshooting
pdfjam executable not found
Verify that pdfjam is notinstalled:
PATHwhich pdfjam.
DeckTapeIf "detachedrequired, Frame"add errorsTeX or timeouts — These happen when DeckTape falls backbinaries to itsyour genericPATH:
export becausePATH="/Library/TeX/texbin:$PATH"
it
Missing noFrames
Ensure Sozi support. The generic plugin keeps probing for frames (you may see counts in the thousands) until it errors or times out. The fix is to use sozi-export instead, as described above.
Wrong or missing frames in the output — Make sure you're pointing atconvert the exported .sozi.html file,file and not the sourceoriginal .svg. Thefile.
Correct
presentation.sozi.html
contains
Wrong
presentation.svg
DeckTape Errors or Timeouts
Generic presentation exporters such as DeckTape do not provide native Sozi support and may produce detached-frame errors or timeout during export.
Use either:
sozi-to-pdf
or the frame definitions the tool reads.provided
sozi-pdf-migrations.js
script instead.