WolfSDKWolfXLWolfPPTWolfDocxWolfRender

WolfRender - Rendering core for Office documents / A WolfSDK engine

Render Office files without LibreOffice.

WolfRender is the rendering core of WolfSDK. It paints Word, Excel, PowerPoint and PDF pages to PDF and page images, and names each omission, approximation and font substitution it detects.

One command

Render the file. Read the report.

wolf render reads DOCX, XLSX, PPTX, PDF, ODT, ODS, ODP, DOC, XLS and PPT files and writes PDF, PNG, SVG, JPEG, TIFF or BMP. Page images are named <stem>-<n>.png, with the page number padded to the width of the page count, as pdftoppm does.

wolf render report.docx --to pdf --outdir out
wolf render report.docx --to png --outdir out --dpi 150
# out/report.pdf, out/report-1.png, out/report-2.png, ... and out/render-report.json

Reported losses

Every detected loss, named.

Every run writes a JSON receipt and a render report. Read the losses before you accept the output, instead of finding them on the page.

01

Render report

Names each omission, approximation and font substitution with a location, a reason and a severity.

02

Partial output

An error-level loss marks the output partial and wolf render exits 1. Your code can refuse it, send it for review or accept it.

03

Receipt

Records the input and output digests, the status and the exit category of the run.

Rendering measured against Office

Compare with native Office output.

In the wolf-v0.2.21 heldout-2026-10f receipt, Wolf has lower mean distance to Office's own PDFs than LibreOffice in DOCX, PPTX and XLSX, and matches Office's page count on 31 of 38 paired XLSX files. Review the per-document losses and unqualified boundaries below.

Mean SSIM distance to Office's own PDF output on a frozen held-out corpus.
FormatDocumentsWolf mean distanceLibreOffice mean distanceWolf page counts match
DOCX420.0880.20339/42
PPTX510.0870.12051/51
XLSX380.1610.33531/38
Mean SSIM distance to Office's own PDF output on a frozen held-out corpus.

wolf-v0.2.21, heldout-2026-10f, November 2, 2026: mean SSIM distance to Office's own PDF output, rounded to three decimals; lower is closer. The last column counts matching page counts. Receipt: evidence/ltg-l4-heldout-checkpoint-10f.json. The paired cohort has 42 DOCX, 51 PPTX and 38 XLSX documents; one XLSX native baseline is missing. There are 10 document losses against LibreOffice, 23 per-document SSIM regressions and a retained uk12 pagination regression. Scoring-helper identity and local-only declaration ordering remain unqualified. Native Office oracles were reused; this is a regression benchmark, not a blind test. Omission counts from older passes are not requalified, and no PDF-input ranking exists.

Shims first on PATH

Keep your soffice and pdftoppm command lines.

When a script or an agent skill already calls soffice, pdftoppm, pdftotext, pdfinfo or pdfimages, run the wolf binary under those names and put that directory first on PATH. Anything outside the documented forms fails with a named error and a non-zero exit, and a shim never falls back to a real LibreOffice or Poppler binary.

export PATH="$PWD/wolf-shims:$PATH"   # soffice, pdftoppm and pdfinfo are links to wolf
soffice --headless --convert-to pdf --outdir out report.docx
pdftoppm -png -r 150 out/report.pdf out/report

Inside the core

One display list for every format.

The document engines parse their formats and lower each page into one display list. WolfRender owns everything after that: text, geometry, charts and painting are shared by every engine that lowers into it.

  1. Display list

    One page description that every engine lowers into and every backend paints.

  2. Text

    Shaping, bidirectional text, line breaking and font fallback.

  3. Geometry and charts

    DrawingML preset geometry, and charts painted from a format-neutral chart model.

  4. Backends

    PDF, PNG and SVG painters behind one interface.

Deploy

Small, local and repeatable.

Added to a public code-interpreter sandbox image in a local build, Wolf adds 48.4 MiB (30.7 MiB compressed). LibreOffice plus Poppler adds 357.9 MiB (135.7 MiB compressed). The whole image is 9.0% smaller with Wolf, 3,142.8 MiB against 3,452.4 MiB uncompressed, because the base image dominates.

Image size added to a public code-interpreter sandbox image in a local build.
InstallAdded, uncompressedAdded, compressedWhole image, uncompressed
Wolf48.4 MiB30.7 MiB3,142.8 MiB
LibreOffice plus Poppler357.9 MiB135.7 MiB3,452.4 MiB
Fonts

The native command-line tool uses bundled fonts and declared directories. The compatibility shims default to system fonts, so pin fonts when you need repeatable output.

Reproducibility

On an eight-input suite with fixed inputs, bundled fonts, clock, locale and seed, Wolf builds for those three platforms produced identical PDFs, PNGs, extracted text and render reports. A larger run found small JPEG decoding differences between macOS arm64 and Linux x86_64 in PDFs that contain JPEG images.

What it does
A Rust rendering core. The document engines lower their pages into one display list; WolfRender shapes text, builds geometry and charts, and paints the list to PDF, PNG and SVG.
Product family
The rendering core of WolfSDK, used by the render paths of the wolf command.
How to install
No standalone WolfRender package is offered. WolfRender ships inside the wolf command of Wolf Runtime.
Free use
No free license is offered. The free Wolf Runtime evaluation includes rendering, for nonproduction use.
What payment adds
Production use under a written Wolf Runtime Order, at a flat annual fee for each deployment band.
Platforms
The documented release targets are Linux x86_64 and arm64, macOS x86_64 and arm64, and Windows x86_64. The measured output comparison covers Linux x86_64, Linux arm64 and macOS arm64.

License WolfRender through Wolf Runtime.

WolfRender has no standalone package or checkout of its own. It ships inside Wolf Runtime: Starter for small organizations is $4,999 a year online, and Internal is from $15,000 a year under a written Order. Start with the free evaluation on your own documents.

Notes on the measurements (5)
  1. Receipts and omissions: the command and receipt contract is documented, and operations differ by format. Receipts and omission reports are operation-specific and do not prove every semantic outcome.
  2. Rendering: wolf-v0.2.21, heldout-2026-10f, November 2, 2026, evidence/ltg-l4-heldout-checkpoint-10f.json. The paired cohort has 42 DOCX, 51 PPTX and 38 XLSX documents, scored as mean SSIM distance to Office's own PDF output against a stored LibreOffice 26.8.0.3 baseline. One XLSX native baseline is missing. Ten document losses against LibreOffice, 23 per-document SSIM regressions and the uk12 pagination regression remain. Scoring-helper identity and local-only declaration ordering remain unqualified. Native oracles were reused; this is a regression benchmark, with no blind test or PDF-input ranking. Historical October 10 omission counts of 12 DOCX, 18 PPTX and 8 XLSX are not requalified for this receipt.
  3. Footprint: a local build from a public code-interpreter sandbox template, against LibreOffice 25.2.3 headless from Debian with 89 added packages. The added-layer figures are uncompressed unless marked compressed. No vendor sandbox was booted and no cold-start claim is made.
  4. Platforms: the release targets are a documented list and carry no per-feature qualification. The eight-input comparison has no Windows run. A larger run of 577 cases found 8 PDF differences in files with JPEG images between macOS arm64 and Linux x86_64 (maximum channel delta 3), so no byte-identity claim is made across platforms.
  5. Licensing: WolfRender is proprietary and licensed only under a Wolf Runtime Order with SynthGL, Inc.: the Wolf Runtime Starter Order Terms accepted at online checkout, or a written Order that names WolfRender or Wolf Runtime.