WolfSDKWolfXLWolfPPTWolfDocxWolfRender

WolfPPT - Documentation

How do I render PPTX to PDF and PNG with WolfPPT Commercial?

WolfPPT native PDF and PNG rendering requires Commercial, not the public Community package alone. Run render-native with explicit font files and a new output directory; this is WolfPPT layout, not Microsoft PowerPoint GUI rendering parity.

Last updated: November 9, 2026.

WolfPPT documentation

Choose the installed rendering surface

The WolfPPT Commercial add-on enables the wolfppt-harness render-native command. The separate Wolf Runtime distribution exposes wolf render with different syntax and output reports. This page documents the Commercial command only, and links to the PDF task guide for the Runtime alternative. Do not install Community and expect either an authenticated add-on or the wolf executable to appear.

The Python wrapper below is complete but requires a provisioned Commercial environment, an existing PPTX, and font assets that you are entitled to use. Save it as render.py and supply the arguments shown in its comment. It was checked against the native command parser and the add-on PDF/PNG test; it was not run against an installed Commercial package during this documentation change.

Admit the fonts the deck uses

Pass --font once for each required family and style, using FAMILY[:STYLE]=PATH. A regular Calibri asset does not by itself admit the bold style. The command accepts repeated font entries, so the wrapper forwards each --font argument unchanged. Choose the files that correspond to the deck typography rather than relying on a converter to find an arbitrary platform substitute.

The native source refuses missing fonts unless an explicit fallback policy is selected. The sample does not select a fallback. That makes the font boundary visible instead of silently changing the design. A deck may also require glyphs missing from an otherwise valid family file. Having a font path on disk is therefore a prerequisite, not an independent proof that the complete input is renderable.

Complete example

import argparse
import subprocess

parser = argparse.ArgumentParser()
parser.add_argument("source")
parser.add_argument("outdir")
parser.add_argument("--font", action="append", required=True)
args = parser.parse_args()
command = [
    "wolfppt-harness", "render-native", "--source", args.source,
    "--output-dir", args.outdir, "--format", "pdf", "--format", "png",
    "--dpi", "96", "--supersample", "2",
]
for font in args.font:
    command.extend(["--font", font])
subprocess.run(command, check=True)
# Run: python render.py deck.pptx rendered --font 'Calibri=/path/to/calibri.ttf'
# Add --font 'Calibri:bold=/path/to/calibrib.ttf' when the deck uses bold.

Select formats and an absent output directory

The wrapper repeats --format pdf and --format png, so the requested output set is explicit. DPI controls raster resolution; supersampling controls the intermediate raster sampling factor before downscaling. Their native defaults are 96 and two respectively. Neither parameter establishes layout equivalence with another renderer, and increasing either value does not make unsupported content supported.

The native publisher stages the complete output set in a sibling directory and publishes with a no-replace directory rename. Choose an output directory that does not exist. Existing outputs are not replaced, including a destination that appears while rendering is in progress. This is the Commercial native output contract, not a statement that ordinary facade save or the Runtime route shares the same filenames and receipts.

Read the output boundary before using the documents

The native renderer writes a render-receipt.json by default. Review its diagnostics and the generated files for the actual deck rather than treating a PDF extension as a fidelity guarantee. Unsupported consumed markup can refuse rendering before output publication; some declared effects may instead appear as named omissions. Preserve those distinctions in application logs and acceptance criteria.

This renderer uses its own layout and supported DrawingML interpretation. Static PDF and PNG output is not a presentation-player simulation. It does not establish that transitions, animation timing, external applications, or embedded workbook calculation will behave as PowerPoint would. Keep the original editable presentation, qualify representative pages, and review fonts and omissions before publishing rendered documents to readers.

Evaluation boundary

When integrating the wrapper, retain the command arguments and output diagnostics without leaking protected document text or credential material into public logs. A successful subprocess return means the selected command completed; whether the rendered documents satisfy the intended review or publication requirement is a separate acceptance decision.

Parameters and contracts

OptionMeaning
--sourceExisting PPTX input.
--output-dirAbsent directory for the complete output set.
--formatRepeat to select pdf and png in this example.
--fontRepeat FAMILY[:STYLE]=PATH for admitted local assets.
--dpiPositive raster resolution; default 96.
--supersampleInteger at least one; default two.

What it does not do

  • Community alone cannot run this workflow.
  • The example is source-checked, not an executed Commercial render result.
  • No Microsoft PowerPoint GUI parity or automatic font substitution is claimed.
  • Rendering uses supported cached chart content, not embedded workbook recalculation.

Get WolfPPT Commercial

WolfPPT Commercial is an organization-scoped subscription at $500 per year or $50 per month for one legal organization, not per developer. The public MIT Community package is on public PyPI. WolfPPT Commercial installs the wolfppt-pro add-on from the authenticated WolfPPT package index with a per-purchase credential, issued on the checkout success page after payment and reissued through https://wolfxl.com/recover.

pip install wolfppt-pro --index-url https://packages.wolfxl.com/wolfppt/simple/

The public WolfPPT Community release is MIT-licensed and free, including commercial use. WolfPPT Commercial does not change those rights.

Related tasks