# Windows DOCX Renderer

> Render and visually verify DOCX files on Windows through LibreOffice while correcting malformed Windows UserInstallation file URIs in the packaged document renderer. Use together with the documents skill whenever Codex must perform DOCX-to-PDF/PNG QA on Windows, or when rendering reports that bootstrap.ini is corrupted, shows an invalid file URI, hangs, or fails during headless LibreOffice conversion.

- Skill: `tgozen63/windows-docx-renderer` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add tgozen63/windows-docx-renderer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tgozen63/windows-docx-renderer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: TGozen63 (https://skillmd.com/u/tgozen63)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/tgozen63/windows-docx-renderer

---


# Windows DOCX Renderer

Use the documents skill for document creation and editing. Use this Skill only for its Windows render gate.

## Render workflow

1. Resolve bundled Python with the workspace dependency loader. Do not use system Python.
2. Run the following command:

       <bundled-python> scripts/render_docx_windows.py <input.docx> --output_dir <output-directory> --emit_pdf --verbose

3. Confirm the output contains page-N.png for every page and inspect every PNG at 100% zoom.
4. Check Chinese glyphs, clipping, overlap, tables, headers, footers, fonts, spacing, and page breaks.
5. After changing the document, re-render it. Deliver only the requested document unless the user asks for QA intermediates.

## Behavior

- Locate the newest installed documents plugin renderer.
- Correct malformed Windows profile URIs in memory by using a valid file:///C:/... URI.
- Put temporary LibreOffice profiles in a short, ignored runtime directory inside this Skill to avoid Windows ACL and path-length failures.
- Add the standard LibreOffice program directory to PATH when needed.
- Use soffice.com on Windows so headless conversion waits for LibreOffice to finish before cleanup.
- Add bundled Poppler binaries to PATH so PDF pages can be rasterized.
- Leave the plugin cache unchanged, so plugin upgrades do not remove this Skill.
- If a future upstream renderer already contains the same URI correction, run it unchanged.
- If the wrapper cannot find LibreOffice or the document renderer, report the missing component rather than bypassing visual QA.

