impress

Create, convert, and automate ODP presentations with LibreOffice Impress and UNO scripting.

Updated Sep 20, 2024
One-click install
npx skills add https://github.com/AnasIsmai1/dotfiles --skill impress-anasismai1
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: impress
Source: https://github.com/AnasIsmai1/dotfiles/tree/main/claude/.claude/skills/libreoffice/impress
Command: npx skills add https://github.com/AnasIsmai1/dotfiles --skill impress-anasismai1

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires ezodf, odfpy.

What problem does it solve? Creating and converting presentations manually is repetitive, especially when generating slides from templates, batch-converting between ODP, PPTX, and PDF formats, or automating slide content from data sources. ## Core Features & Use Cases - Format Conversion: Convert presentations between ODP, PPTX, PDF, HTML, and SWF using headless soffice commands, including batch conversion of multiple files. - Template-Based Generation: Populate ODP templates programmatically by replacing placeholders in content.xml, enabling data-driven slide creation. - UNO API Automation: Control Impress programmatically via Python and the UNO bridge for slide creation, content insertion, and document management. - Use Case: You receive 20 ODP files that must be distributed as PDFs. Use this Skill to batch-convert them all with a single headless soffice loop instead of opening each file manually. ## Quick Start Ask the assistant to convert a presentation file to PDF or generate a new ODP presentation from a template using LibreOffice Impress.

Frequently Asked Questions about impress

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert ODP to PDF from the command line?▼

Run soffice --headless --convert-to pdf presentation.odp to convert an ODP file to PDF without opening the GUI. The same pattern works for PPTX and other output formats by changing the format argument.

How to batch convert multiple presentations with LibreOffice?▼

Loop over the files in a shell script, for example: for file in *.odp; do soffice --headless --convert-to pdf "$file"; done. Each file is converted independently in headless mode.

Can I automate LibreOffice Impress with Python?▼

Yes, use the UNO API by starting soffice with a socket listener, then connect from Python via the UnoUrlResolver to create and manipulate PresentationDocument instances. Libraries like ezodf and odfpy also handle ODF files directly.

Why does the UNO socket connection fail in LibreOffice?▼

The connection fails when a stale soffice process holds the socket or no listener is running. Kill existing processes with killall soffice.bin, then restart with soffice --headless --accept="socket,host=localhost,port=8100;urp;".

What formats can LibreOffice Impress convert between?▼

Impress accepts ODP, PPTX, PPT, and PDF as input formats. It can output ODP, PPTX, PDF, HTML, and SWF, covering most presentation distribution and archival needs.