Skip to main content

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.

To

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

This guide covers the full setup on macOS, including all dependencies.

Dependencies

You need three things:

    Node.js and npm — to run the exporter. Check with node --version. If missing, install via Homebrew on macOS (brew install node), your package manager on Linux (e.g. sudo apt install nodejs npm), or the official installer from nodejs.org on Windows. sozi-export — the export tool itself, installed globally through npm. pdfjam — used by sozi-export to merge the per-frame PDFs into a single file. It ships with TeX Live, so you install TeX Live to get it.

    Note: sozi-export exports each frame exactly as itsdesigned.

    own

    Prerequisites

    one-page

    Install:

    PDF
    andNode.js thensozi-export calls pdfjam to stitch them together. If pdfjam is missing you'll see ERROR: pdfjam executable(included notin found,TeX soLive) it must 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:

    Conversion

    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

      sozi-pdf-migrations.js

      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:

      installed or not on your PATH. Complete Step 2 and verify with
      which pdfjam
      .

      DeckTapeIf "detachedrequired, Frame"add errorsTeX or timeouts — These happen when DeckTape falls backbinaries to itsyour genericPATH:

      plugin
      export becausePATH="/Library/TeX/texbin:$PATH"
      it
      has

      Missing noFrames

      native

      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.

      HTML

      Correct

      export
      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.