WolfSDKWolfXLWolfPPTWolfDocx

Headless workbook rendering

How do I render Excel to PDF or PNG on headless Linux without LibreOffice?

Rendering ships in WolfXL Commercial 2.1+: supported worksheets, cell ranges, and charts render to PDF, PNG, SVG, or JPEG through a native Python API, with no Excel install, no LibreOffice, and no GUI. Use it for server jobs where installing a desktop application, driving a GUI, or accepting an unverified screenshot is not an operational option. The MIT-licensed Community 2.0 line does not ship rendering.

Render a print-aware worksheet PDF

from wolfxl import RenderOptions, load_workbook

workbook = load_workbook("dashboard.xlsx")
report = workbook.renderer.render(
    RenderOptions(
        format="pdf",
        sheet="Summary",
        paginated=True,
        output="summary.pdf",
    )
)
assert report.diagnostics.rendered_sheet_count == 1
workbook.close()

The same renderer supports worksheet and range PNG/PDF output, paginated sheets, workbook PDFs, and selected-chart PNG, PDF, JPEG, or SVG output.

Use this for bounded production outputs

  • Generate a PDF attachment from a reporting workbook in a Linux worker.
  • Create review thumbnails for uploaded workbooks.
  • Render one chart into a web report without exporting the workbook to a desktop app.
  • Verify nonblank output and deterministic geometry in CI before release.

Rendering is not a universal Excel screenshot promise

Qualify the exact workbook and expected output. Unsupported controls, uncommon drawing extensions, host-specific fonts, and unimplemented visual semantics can affect results. Use reference images or PDFs, inspect render diagnostics, and keep the workbook itself as the source artifact when fidelity requirements exceed the supported renderer.

Compare one report against your approved output

A 60-day evaluation can test a named nonproduction report. The Production Workbook Pilot defines the expected pages, charts, fonts, workbook inputs, deployment environment, and acceptance evidence in writing.